複数人開発するときのDBマイグレーション2022/02/22に公開・約700字ツイートDBidea新規開発でDBマイグレーションツールにsql-migrateを導入したところ課題が出てきたのでポエムという形で残そうと思う。主張としては「数人で新規開発するときはよくあるマイグレーションツールより緩いチェックのマイグレーションツールが欲しい」というものだ。課題1:別ブランチで作ったマイグレーションファイルが適用されているナンバリングが被ったり、先にマイグレーションファイルを作っていて、あとから別の人が作成したファイルが適用される場合などにうまく動作しないことがある。(すでに適用済みか、スルーされたり、適用済みのファイルがないとエラーになったりする)専属のデータベース管理者がいて一人でマイグレーションを行ったり管理するのであれば問題ないが、開発環境に1DBしかなく、複数人で開発する場合は上記のケースはよくあることだと思う。課題2:テーブル定義を作ったがミスがあった場合ある程度DB設計して、APIも作り始めたころに、「そういえばintにしてたけどtinyintで済むな」とかテーブル定義を変更したいことがある。機能追加によるカラム修正なら新規マイグレーションファイルを作ってalter文を発行するところだが、ミスや漏れの場合は元のDDL自体を書き換えたい。その場合マイグレーションでは禁じ手だが「特定のファイルだけdown、up」させたい。まとめとまあマイグレーションツールを使っていて辛みみたいなものを書いてみた。同じような意見があるようであれば、薄いマイグレーションツールを作ってみようかと思う。よいツールがあれば教えて欲しい。Suzukiサーバーサイドエンジニア。AWS上でPHP、Go言語を使って開発をしてます。最近はスマブラにハマってます。(メイン:ドンキー)バッジを贈って著者を応援しようバッジを受け取った著者にはZennから現金やAmazonギフト券が還元されます。Suzukiサーバーサイドエンジニア。AWS上でPHP、Go言語を使って開発をしてます。最近はスマブラにハマってます。課題1:別ブランチで作ったマイグレーションファイルが適用されている課題2:テーブル定義を作ったがミスがあった場合まとめZennエンジニアのための情報共有コミュニティAboutZennについて運営会社お知らせ・リリースGuides使い方Publicationよくある質問LinksTwitterGitHubメディアキットLegal利用規約プライバシーポリシ。