現在、自動ビルド中にデータベース プロジェクトを使用して、テスト データベースと開発データベースがソース コードと同期していることを確認しています。
パブリッシュ プロファイル中に、現在使用しているワークフローでは完全にカバーされていない問題に気付き、これを管理する最善の方法に関心があります。
問題:
データベース スキーマを作り直し、テーブル ( ) の列 ( name
) をuser
新しいテーブル ( userdetail
) に移動する必要があると判断しました。新しいテーブルには、 table の列userdetail
の既存のコンテンツが必要ですが、テーブル user からも列を削除したいと考えています。データベース プロジェクトが最新であることを確認します。name
user
name
問題は、userdetail
展開前にテーブルにデータを入力しようとすると、userdetail
テーブルが存在しないことです。でテーブルを作成できますpre-deploy
が、デプロイ中に db プロジェクトが再度テーブルを作成しようとして失敗します。userdetail
デプロイ後にデータを入力しようとすると、name
列が削除されており、これを使用してデータを入力することはできませんuserdetail
。
現在、私が見ることができる2つの可能な解決策があります。
考えられる解決策 1
name
テーブルに列を残しuser
ます。これは、実行のポピュuserdetails
レーションに問題がないことを意味しますが、デプロイ後に列を手動で削除する必要があり、エラーが発生しやすくなります。
考えられる解決策 2
一時テーブルを作成してデプロイ前の情報を取得し、user
デプロイ後のスクリプトで使用するために保存します。デプロイ後の一時テーブルを削除します。
現時点ではオプション 2 が最適に思えますが、この方法でデータを手動で保存して後で使用する必要があるのは面倒です。この不測の事態に対応するための推奨される方法はありますか?