アプリケーションの次のバージョンでエンティティが変更される実行中の JavaEE Web アプリケーション (WAR) があります。もちろん、これは基盤となるデータベースの構造変更も意味します。
アプリケーションの書き換え後に古いデータを保持し、新しいエンティティ構造に移行する最善の方法は何ですか?
再デプロイする前にデータベース構造を手動で変更する必要がありますか?それとも他の方法がありますか?
アプリケーションの次のバージョンでエンティティが変更される実行中の JavaEE Web アプリケーション (WAR) があります。もちろん、これは基盤となるデータベースの構造変更も意味します。
アプリケーションの書き換え後に古いデータを保持し、新しいエンティティ構造に移行する最善の方法は何ですか?
再デプロイする前にデータベース構造を手動で変更する必要がありますか?それとも他の方法がありますか?
TopLink 3.4では、永続性プロパティをpersitence.xmlに追加します。
<property name="eclipselink.ddl-generation" value="create-or-extend-tables" />
<property name="eclipselink.ddl-generation.output-mode" value="database" />
この機能は、データベース テーブルを作成し、オブジェクト モデルに一致するように既存のものを変更できるようにするためのものです。
コードベースでアップグレードおよびデグレード db スクリプトをバージョン管理したいと考えています。アップグレード スクリプトは、既存のデータの安全性を保証できる必要があります。変更を適用する前に、常にバックアップを作成する必要があります。リキベースを試してみてください。