2

移行にmavenを使用するIMHOは、開発マシンでのみ問題ありません。通常、サーバーでは maven を使用できません (そこにインストールすることは不可能な場合があります)。

So: Maven なしでデータベースを初期化するにはどうすればよいですか? flyway.init() を呼び出すだけですか? データベースがすでに初期化されている場合はどうなりますか?

SQL ステートメントを実行してデータベースを初期化できますか? 私の外部キーとインデックスは、異なるデータベース インスタンス間で異なる/混乱しているため、既に完全なスキーマ スクリプトを作成し、データのエクスポート、スキーマの削除、スキーマの再作成、およびデータの復元でテストしました。すべてのデータベースでこれを実行して、それらがまったく同じであることを確認します。

4

1 に答える 1

2

はい、単に flyway.init() を呼び出すことができます

flyway.status() を使用して、DB が初期化されているかどうかを確認できます。

このプロセスは、initOnMigrate と呼ばれる新しいプロパティが導入された Flyway 1.8 でより簡単になります。初めて実行すると、migrate を実行するか空のデータベース (DEV) で単に移行するときに、既存の空でないデータベース (PROD) が初期化されます。

于 2012-08-29T22:54:14.127 に答える