質問編集履歴
1
ちょっとした文章の修正
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
...(省略)
|
|
30
30
|
```
|
|
31
31
|
|
|
32
|
-
自分はこれまでマイグレーションのロールバックを自動化したことはなかったのですが、先日マイグレーションが失敗しロールバックされた際、このワークフロー内で行われているロールバック先のバージョンの計算にバグがあり、DBが壊れるということがありました。
|
|
32
|
+
自分はこれまでマイグレーションのロールバックを自動化したプロジェクトに参画したことはなかったのですが、現在参画中のプロジェクトでは上記の通りマイグレーションに失敗すると、マイグレーションレベルで自動的にロールバックされるようになっています。先日マイグレーションが失敗しロールバックされた際、このワークフロー内で行われているロールバック先のバージョンの計算にバグがあり、DBが壊れるということがありました。
|
|
33
33
|
幸いにもデモ環境であったため、Amazon RDSのクラスターバックアップから復元できたのですが、稼働中のリリース作業のため、本番環境であれば復旧も大変なことになるな、と危惧しておりました。結局チーム内では「自動ロールバックされないとマイグレーションが途中魔で成功した状態で放置されることになる」ということで、デモ環境で発生したマイグレーションの失敗自体の解消と、GHA内のワークフローのバグを修正して無事本番リリースすることができました。
|
|
34
34
|
ただ、結局これが安全なやり方だったのか疑問が残ります。
|
|
35
35
|
PrismaもAuto Rollbackはサポートしておらず、代わりに「expand and contract pattern」を推奨しているようです。
|