2016-09-27 6 views
1

でない限り、私が設定した動作しません。ベースラインの設定を検討し、すべての移行を実行します。フライウェイのベースラインはschema_versionテーブルが私のJavaアプリケーションでデータベース

schema_versionテーブルの作成を強制的に開始してから、テーブルを手動で作成しようとしましたが、コードが正常に動作しました。それとも、その問題に対する他の解決策がありますか?

答えて

1

実行中のコマンドは、baselineまたはmigrateですか?

baselineを実行している場合は、何か問題があるかどうかを確認するために、より多くの設定を公開する必要があります。ベースラインバージョンのschema_versionテーブルを作成するのとまったく同じです。

migrateを実行している場合、監視された動作は正しいです。つまり、Flyway管理対象外のデータベースでは、schema_versionテーブルが作成され、すべての移行が実行されます。ただし、migrateを起動する前に暗黙的にbaselineを実行するbaselineOnMigrateを設定した場合は例外です。自分は確かにあなたががやってはならないものですschema_versionを作成

、あなたは完全にFlyways知性を損なうことになります。

+0

実際にはbaselonOnMigrateをtrueに設定しています。 私はflyway.setBaselineVersionAsString( "7") を使用してベースラインを設定しましたが、flyway.migrate()を使用しました... しかし、まだすべてのマイグレーションは1から始まります。 –

+0

'schemas'は何に設定されていますか? [baselineOnMigrate'](https://flywaydb.org/documentation/commandline/migrate)docs "メタデータテーブルを持たない空でないスキーマに対してマイグレーションを実行するときに自動的にベースラインを呼び出すかどうか"存在しないスキーマまたは空のスキーマを指していますか? – markdsievers

+0

はい、私は移行を実行する予定の空のスキーマですが、すべての移行を実行したくない場合もあります。特定のバージョンからの移行のみを実行したい場合があります。そのため、ベースラインの設定を使用していますが、移行はまだ最初から実行されています。 –

関連する問題