【问题标题】:Flyway DB Upgrader in Spring春季 Flyway DB 升级程序
【发布时间】:2012-02-19 23:35:39
【问题描述】:

我对 Spring 的 Flyway 架构升级程序有疑问。我的 servlet.xml 中存在以下代码

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    <property name="url" value="jdbc:mysql://localhost/database"/>
    <property name="username" value="root"/>
    <property name="password" value="password"/>
</bean>

<bean id="flyway" class="com.googlecode.flyway.core.Flyway" init-method="migrate" depends-on="dataSource">
    <property name="dataSource" ref="dataSource"/>
</bean>

但是如何设置迁移脚本目录或者默认目录是什么?

【问题讨论】:

    标签: java spring flyway


    【解决方案1】:

    一切都在excellent documentation中解释:

    如果您想更改默认目录(如上图所示为db/migration),我相信这应该可以工作(参见:Flyway.setBaseDir()):

    <bean id="flyway" class="com.googlecode.flyway.core.Flyway" init-method="migrate" depends-on="dataSource">
        <property name="dataSource" ref="dataSource"/>
        <property name="baseDir" value="my/migrations/path"/>
    </bean>
    

    【讨论】:

    • 我已阅读文档,但如何在春季设置 baseDir 属性?根目录是什么?
    • @endian:默认目录为db/migration,如图所示。 “根”目录是src/main/resources - CLASSPATH 的根目录。同时我添加了 Spring 集成示例。
    • 我添加了包 main.resources.db.migration 但 flyway 再次打印:无法找到 sql 迁移的路径:db/migration
    • @endian:你在使用 maven 吗?应该有一个名为/src/main/resources 的目录和一个子目录db/migration,就像屏幕截图说的那样。我正在使用完全相同的配置,并且工作起来就像一个魅力。
    • @Thomasz:不,我已经阅读过 Flyway.java 和 SqlMigrationResolver.java 的代码
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-03
    • 2015-03-19
    • 1970-01-01
    • 1970-01-01
    • 2015-12-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多