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.
Ich verstehe es nicht. Haben Sie bereits versucht, das Schema mit Flyway # setSchemas (String ... schemas) zu setzen? –
Ja, ich habe diese Option auch ausprobiert. Aus irgendeinem Grund filtert es meine SQL-Datei aus. – megan
So wird das von Ihnen gepostete Protokoll generiert, wenn Sie #setSchema (..) verwenden? Weil im Code nicht. –