バージョンに応じて自動的にハウスキーピングとデータベースの更新を行う方法について、誰かが良いフレームワークやアドバイスを知っているのではないかと思います。
たとえば、バージョン 1.1 を使用していて、ソフトウェアがバージョン 2.0 にアップグレードされたとします。1.1 と 2.0 の間で互換性を保つために必要なことがいくつかあります。
- 1.2 新しいテーブルを追加
- 1.3 は古いテーブルを削除し、いくつかのフィールド名を変更します
- 1.4 テーブル a と b の間にリレーションシップを追加します。
したがって、バージョン 2.0 がバージョン 1.1 データベースで動作するには、アプリケーションの実行を許可する前に、上記の手順を順番に実行する必要があります。
以前は、データベースのフィールドにバージョン番号を格納していました。クラスは基本クラスを継承し、それ自体をUpdate
+バージョン番号と呼びます(例: Update1.2
. 各クラスは、必要なタスクを実行し、バージョン番号を更新してプロセスを続行します。
これにはある種のフレームワーク、または少なくとも推奨される方法が必要ですか?