2017-04-19 1 views
1

Ich verwende die Version von Flyway Version 4.1.2Flyway nicht meine sql-Datei für die Migration

Ich habe ein Schema namens SAPDATA. Ich möchte das folgende Skript V0.0.1_1__baseline.sql ausführen. Ich sehe, dass meine SQL-Datei von der Flyway ignoriert wurde, hat meine Ressource herausgefiltert.

Ich habe bereits Tabellen im Schema, also setze ich baselineOnMigrate auf true, um mein Skript zu migrieren.

Bitte lassen Sie mich wissen, ob ich den Schemanamen explizit festlegen soll? Ich bin mir nicht sicher, warum meine SQL-Datei herausgefiltert wird?

Bitte beraten Sie mich, wenn ich bestimmte Einstellungen auf meiner Flyway vermisse, so dass meine SQL ausgeführt wird?

Execution Code

 @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 [email protected] ... 
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. 
+0

Ich verstehe es nicht. Haben Sie bereits versucht, das Schema mit Flyway # setSchemas (String ... schemas) zu setzen? –

+0

Ja, ich habe diese Option auch ausprobiert. Aus irgendeinem Grund filtert es meine SQL-Datei aus. – megan

+0

So wird das von Ihnen gepostete Protokoll generiert, wenn Sie #setSchema (..) verwenden? Weil im Code nicht. –

Antwort

0

Nach Ihren Protokollen, haben Sie bereits ein Schema mit der Version 1, obwohl das Skript mit Version ist 0.

Wenn Sie Ihr Skript Sie werden angewendet muss seine Version erhöhen, da alle Skripte mit niedrigeren Versionen als aktuell übersprungen werden.

Verwandte Themen