Closed3

DBスキーマ管理ツールメモ

HyHy

大きく2種類に分けられる

  • DDLを時系列に積み上げるタイプ
    • 多くのツールはマイグレーション管理テーブルを持ち、マイグレーションファイルのいつ適用したのかを時系列で持っている
    • マイグレーションファイル=SQLをいつ実施したかを時系列でマップしているだけなので、DDLとデータ変更SQLを両方管理することが可能である場合が多い
    • デメリットとしてマイグレーションファイルバージョンの競合が付きまとう
  • 宣言的に現在の状態を表すDDLファイル一つで管理するタイプ
    • 簡素なタイプはDDLと現在のスキーマを比較し差分を埋めるDDLを生成し流すだけ
    • クラウドレベルでサポートしているリッチなやつは各verの構造を時系列で管理している
    • スキーマ差分のみを対象としており、データ変更SQLは管理できない場合が多い
    • マイグレーションファイルを管理しないので、時系列型より競合し辛くDXが良い
HyHy

DDLを時系列に積み上げるタイプ

有名所だとflywayとか、FW内包型だとDjangoORMなど

宣言的に現在の状態を表すDDLファイル一つで管理するタイプ

  • sqldef
このスクラップは2024/04/06にクローズされました