Closed3
DBスキーマ管理ツールメモ
大きく2種類に分けられる
- DDLを時系列に積み上げるタイプ
- 多くのツールはマイグレーション管理テーブルを持ち、マイグレーションファイルのいつ適用したのかを時系列で持っている
- マイグレーションファイル=SQLをいつ実施したかを時系列でマップしているだけなので、DDLとデータ変更SQLを両方管理することが可能である場合が多い
- デメリットとしてマイグレーションファイルバージョンの競合が付きまとう
- 宣言的に現在の状態を表すDDLファイル一つで管理するタイプ
- 簡素なタイプはDDLと現在のスキーマを比較し差分を埋めるDDLを生成し流すだけ
- クラウドレベルでサポートしているリッチなやつは各verの構造を時系列で管理している
- スキーマ差分のみを対象としており、データ変更SQLは管理できない場合が多い
- マイグレーションファイルを管理しないので、時系列型より競合し辛くDXが良い
DDLを時系列に積み上げるタイプ
有名所だとflywayとか、FW内包型だとDjangoORMなど
宣言的に現在の状態を表すDDLファイル一つで管理するタイプ
- sqldef
ツールを見つけるヒント
このスクラップは2024/04/06にクローズされました