Scala(JVMベースの言語)用のタイプセーフなリレーショナルデータベースフレームワークであるsquerylに基づいて、リリースに到達する私の小さなプロジェクトがあります。
最初の展開後、複数の更新が行われると予想しています。データベースに入力されたデータは、それらの上に永続化する必要があります。これは、新しいDBスキーマのデータをアップグレードする、ある種のデータ移行手順なしでは不可能です。新しいコードをテストするために古いデータを使用する場合も、互換性パッチが必要です。
現在、フレームワークによる自動スキーマ生成を使用しています。スキーマを最初から作成することしかできないようです。データは保持されません。
自動スキーマ生成を完全に停止することなく、変更されたスキーマへのデータの簡単で形式的な移行を可能にする方法はありますか?
これまでのところ、列を追加する簡単な方法しかわかりません。古いデータをダンプし、新しい列のデフォルト値を提供し、スキーマをリセットし、古いデータを復元します。
列タイプまたはセマンティクスを削除、名前変更、変更するにはどうすればよいですか?
スキーマ生成が本番データベースの移行に役立たない場合、従来の手動/スクリプトによる再デプロイの標準的な手順は何ですか?