1. ホーム
  2. sql

[解決済み] データベースの構造を変更した場合のバージョン管理システムはありますか?

2022-07-21 10:46:18

質問

以下のような問題によく遭遇します。

あるプロジェクトで、データベースの新しいテーブルまたはカラムを必要とする変更に取り組みます。私はデータベースを変更し、作業を継続します。通常、本番システムで複製できるように、変更内容を書き留めることを忘れません。しかし、自分が何を変更したかを常に覚えているわけではなく、それを書き留めることを常に覚えているわけではありません。

そこで、本番システムにプッシュすると、大きな明白なエラーが発生します。 NewColumnX という大きなエラーが出ました。

この状況でのベストプラクティスではないかもしれないという事実とは関係なく、データベースのためのバージョン管理システムはあるのでしょうか?私は、特定のデータベース技術については気にしません。ただ、存在するかどうかを知りたいだけです。それがたまたま MS SQL Server で動作するのであれば、素晴らしいことです。

どのように解決するのですか?

Ruby on Railsでは、Ruby on Railsを利用するために マイグレーション -- データベースを変更するための簡単なスクリプトです。

マイグレーションファイルを生成します。このファイルには、dbのバージョンを上げるルール(カラムの追加など)と、バージョンを下げるルール(カラムの削除など)があります。各移行には番号が振られ、テーブルには現在のデータベースのバージョンが記録されます。

には マイグレーションアップ を行うには、"db:migrate" というコマンドを実行し、バージョンを調べて必要なスクリプトを適用します。同様の方法で下に移行することができます。

データベースを変更するときはいつでも、新しいスクリプトをチェックインし、開発者は誰でもそれを適用してローカルのデータベースを最新バージョンにすることができます。