エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
ここにツイート内容が記載されます https://b.hatena.ne.jp/URLはspanで囲んでください
Twitterで共有ONにすると、次回以降このダイアログを飛ばしてTwitterに遷移します
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
こんにちは!株式会社 Rem it Aid のrem it aid_wataruです。 Rem it Aid ではデータベースに MySQL、データベ... こんにちは!株式会社 Rem it Aid のrem it aid_wataruです。 Rem it Aid ではデータベースに MySQL、データベースマイグレーションに golang-migrate を使用しています。 今回は、マイグレーション実行時にトランザクションを明示的に記述していたにも関わらず、エラー発生時にロールバックされずデータベースマイグレーションが中途半端な状態になってしまった経験を共有します。 早速結論 原因は MySQL の DDL ステートメントが持つ「暗黙的なコミット」でした。 環境 MySQL: 8.0.28 golang-migrate: v4.18.2 事象 マイグレーションの内容は簡単に言うと ALTER TABLE → UPDATE → ALTER TABLE です。 実行したマイグレーションは、簡略化した例ですが、以下のようなものです。 -- 001_add_u