Flyway没有拿起我的sql文件进行迁移

时间:2017-04-19 16:17:22

标签: java flyway

我正在使用flyway版本4.1.2

我有一个名为SAPDATA的架构。我期待执行以下脚本V0.0.1_1__baseline.sql。我看到我的sql文件被flyway忽略了,它已经过滤掉了我的资源。

我已经在架构中有表,所以我将baselineOnMigrate设置为true以便迁移我的脚本。

请告诉我是否应该明确设置架构名称? 我不确定为什么我的sql文件被过滤掉了?

如果我的飞路上缺少任何特定设置以便我的sql被执行,你能告诉我吗?

执行代码

      @Override
        protected void doOperation(DatabaseConfig.DataSourceConfig databaseConfig, String location) {
            final Flyway flyway = new Flyway();
            flyway.setLocations(location);
            flyway.setDataSource(databaseConfig.getUrl(), databaseConfig.getUsername(), databaseConfig.getPassword());
           flyway.setBaselineOnMigrate(true);
           flyway.migrate();
        }

**Execution logs**
 17:51:46.073 [main] DEBUG org.flywaydb.core.internal.util.FeatureDetector - Spring Jdbc available: false
17:51:46.074 [main] DEBUG org.flywaydb.core.internal.callback.SqlScriptFlywayCallback - Scanning for SQL callbacks ...
17:51:46.074 [main] DEBUG org.flywaydb.core.internal.util.scanner.classpath.ClassPathScanner - Scanning for classpath resources at 'classpath:db/migration/sap' (Prefix: '', Suffix: '.sql')
17:51:46.074 [main] DEBUG org.flywaydb.core.internal.util.scanner.classpath.ClassPathScanner - Determining location urls for classpath:db/migration/sap using ClassLoader sun.misc.Launcher$AppClassLoader@446cdf90 ...
17:51:46.074 [main] DEBUG org.flywaydb.core.internal.util.scanner.classpath.ClassPathScanner - Scanning URL: file:/C:/dev/workspaces/intellij-workspaces/reference-data-system/database/target/classes/db/migration/sap
17:51:46.075 [main] DEBUG org.flywaydb.core.internal.util.FeatureDetector - JBoss VFS v2 available: false
17:51:46.077 [main] DEBUG org.flywaydb.core.internal.util.scanner.classpath.FileSystemClassPathLocationScanner - Scanning starting at classpath root in filesystem: C:\dev\workspaces\intellij-workspaces\reference-data-system\database\target\classes\
17:51:46.077 [main] DEBUG org.flywaydb.core.internal.util.scanner.classpath.FileSystemClassPathLocationScanner - Scanning for resources in path: C:\dev\workspaces\intellij-workspaces\reference-data-system\database\target\classes\db\migration\sap (db/migration/sap)
17:51:46.098 [main] DEBUG org.flywaydb.core.internal.util.scanner.classpath.ClassPathScanner - Found resource: db/migration/sap/V0.0.1_1__baseline.sql
17:51:46.706 [main] DEBUG org.flywaydb.core.internal.command.DbValidate - Validating migrations ...
17:51:46.757 [main] DEBUG org.flywaydb.core.internal.util.scanner.classpath.ClassPathScanner - Scanning for classpath resources at 'classpath:db/migration/sap' (Prefix: 'V', Suffix: '.sql')
17:51:46.757 [main] DEBUG org.flywaydb.core.internal.util.scanner.classpath.ClassPathScanner - Scanning URL: file:/C:/dev/workspaces/intellij-workspaces/reference-data-system/database/target/classes/db/migration/sap
17:51:46.757 [main] DEBUG org.flywaydb.core.internal.util.FeatureDetector - JBoss VFS v2 available: false
17:51:46.774 [main] DEBUG org.flywaydb.core.internal.util.scanner.classpath.ClassPathScanner - Found resource: db/migration/sap/V0.0.1_1__baseline.sql
17:51:46.777 [main] DEBUG org.flywaydb.core.internal.util.scanner.classpath.ClassPathScanner - Scanning for classpath resources at 'classpath:db/migration/sap' (Prefix: 'R', Suffix: '.sql')
17:51:46.777 [main] DEBUG org.flywaydb.core.internal.util.scanner.classpath.ClassPathScanner - Scanning URL: file:/C:/dev/workspaces/intellij-workspaces/reference-data-system/database/target/classes/db/migration/sap
17:51:46.778 [main] DEBUG org.flywaydb.core.internal.util.FeatureDetector - JBoss VFS v2 available: false
17:51:46.789 [main] DEBUG org.flywaydb.core.internal.util.scanner.classpath.ClassPathScanner - Filtering out resource: db/migration/sap/V0.0.1_1__baseline.sql (filename: V0.0.1_1__baseline.sql)
17:51:46.791 [main] DEBUG org.flywaydb.core.internal.util.scanner.classpath.ClassPathScanner - Scanning for classes at 'classpath:db/migration/sap' (Implementing: 'org.flywaydb.core.api.migration.jdbc.JdbcMigration')
17:51:46.791 [main] DEBUG org.flywaydb.core.internal.util.scanner.classpath.ClassPathScanner - Scanning URL: file:/C:/dev/workspaces/intellij-workspaces/reference-data-system/database/target/classes/db/migration/sap
17:51:46.791 [main] DEBUG org.flywaydb.core.internal.util.FeatureDetector - JBoss VFS v2 available: false
17:51:46.803 [main] DEBUG org.flywaydb.core.internal.util.scanner.classpath.ClassPathScanner - Filtering out resource: db/migration/sap/V0.0.1_1__baseline.sql (filename: V0.0.1_1__baseline.sql)
17:51:47.107 [main] INFO org.flywaydb.core.internal.command.DbValidate - Successfully validated 2 migrations (execution time 00:00.398s)
17:51:47.240 [main] INFO org.flywaydb.core.internal.dbsupport.sqlserver.SQLServerDbSupport - SQLServer does not support setting the schema for the current session. Default schema NOT changed to SAPDATA
17:51:47.330 [main] DEBUG org.flywaydb.core.internal.command.DbSchemas - Schema [SAPDATA] already exists. Skipping schema creation.
17:51:48.343 [main] DEBUG org.flywaydb.core.internal.dbsupport.Table - Locking table [SAPDATA].[schema_version]...
17:51:48.394 [main] DEBUG org.flywaydb.core.internal.dbsupport.Table - Lock acquired for table [SAPDATA].[schema_version]
17:51:48.793 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Current version of schema [SAPDATA]: 1
17:51:48.877 [main] INFO org.flywaydb.core.internal.command.DbMigrate - Schema [SAPDATA] is up to date. No migration necessary.

1 个答案:

答案 0 :(得分:1)

根据您的日志,您已经拥有版本1的架构,但您的脚本版本为0.

如果您希望应用脚本,则必须增加它的版本,因为所有版本低于当前版本的脚本都会被跳过。