それぞれ優先順位が高い順に並んでいる # 課題 1. スキーマ変更の際、既存のプロセスではそれまでのデータを削除してしまうこと 2. 本番環境が動作しなくなった時、動作していた状態に戻すことができない、困難であること 3. マイグレーションプロセスが統一されておらず、ヒューマンエラーによって本番環境が動作しなくなること # 解決策 1. 全てのテーブルを一度全削除するのではなく、現状の本番環境のDBとの差分を埋めるSQL文を実行することでマイグレーションを行う 2. 本番環境でマイグレーションを実行した際に問題が起きる可能性を考慮し、問題があった場合は問題なく動作していた状態まで戻れるようにする <ローカル環境> ・エラー時のDDLロールバック ・エラー時のDMLロールバック ・マイグレーション成功後バージョンをもとに戻したい(DDL) ・マイグレーション成功後バージョンをもとに戻したい(DML) <本番環境> ・エラー時のDDLロールバック ・エラー時のDMLロールバック ・マイグレーション成功後バージョンをもとに戻したい(DDL) ・マイグレーション成功後バージョンをもとに戻したい(DML) 4. マイグレーションプロセスを統一し、ヒューマンエラーをなるべく減らすこと
それぞれ優先順位が高い順に並んでいる
課題
解決策
全てのテーブルを一度全削除するのではなく、現状の本番環境のDBとの差分を埋めるSQL文を実行することでマイグレーションを行う
本番環境でマイグレーションを実行した際に問題が起きる可能性を考慮し、問題があった場合は問題なく動作していた状態まで戻れるようにする
<ローカル環境>
・エラー時のDDLロールバック
・エラー時のDMLロールバック
・マイグレーション成功後バージョンをもとに戻したい(DDL)
・マイグレーション成功後バージョンをもとに戻したい(DML)
<本番環境>
・エラー時のDDLロールバック
・エラー時のDMLロールバック
・マイグレーション成功後バージョンをもとに戻したい(DDL)
・マイグレーション成功後バージョンをもとに戻したい(DML)
マイグレーションプロセスを統一し、ヒューマンエラーをなるべく減らすこと