3 つのテーブルのデータを変更する必要があります (既存の行を更新し、新しい行を追加し、古い行を削除します)。一瞬で済ませる必要があります。問題は、データを手動で変更する必要があり、おそらく完了までに時間がかかることです。そのため、変更を行うためにベータ サーバーを使用します。問題は次のとおりです: 別のデータベースからのデータで本番サーバーを更新する方法は?
私の解決策: ベータサーバーからデータをダンプし、本番環境に復元します。
欠陥: 最初に本番環境のすべてのデータを削除する必要があり、外部キーのために問題があります (最初にキーをオフにすることはできますが、それを回避する方法はありますか?)。
同様の質問が見つかりました。回答の1つがコマンドの使用を示唆していdblink
ます。更新ステートメントを記述できると思いますが、これはまだ少しやり過ぎのようです。
編集(追加説明):
本番サーバー(と呼びましょうProduction
)と開発サーバー(と呼びましょう)がありますBeta
。したがって、本番環境でいくつかのデータを変更する必要があります (相互に接続され、DB の他のテーブルからも参照される 3 つのテーブル)。正確には、これらのテーブルには、学習プログラム (トピック、トピックのグループ、およびサブトピック) が保持されます。これらの要素を参照するレジスタがあります。しかし、これらの変更を一瞬で行う必要があります (つまり、SQL スクリプトを介して)。それを達成するために、私はベータサーバーを使用します - これは本番データベースのコピーを保持しています (特定の瞬間に行われ、リアルタイム同期はありません)。そのため、ベータ サーバーの 3 つのテーブルでデータを更新し、このデータを本番環境に移動する必要があります。