0

PostgreSQL のスキーマ移行メカニズムを実装する必要があります。あいまいさを取り除くために: schema-migration とは、特定のサーバー インスタンスの現在の状態に関係なく、データベース構造を最新バージョンにアップグレードする必要があることを意味します。

たとえば、バージョン 1 でいくつかのテーブルを作成し、バージョン 2 でいくつかの列の名前を変更し、バージョン 3 で 1 つのテーブルを削除して別のテーブルを作成しました。私は複数のサーバーを持っており、そのうちのいくつかにはバージョン 1 とバージョン 3 などがあります。

私の考え:

  • によって生成された出力のハッシュを生成します

pg_dump --スキーマのみ

データベーススキーマを変更する前に毎回。これは、将来、パッチを適用する必要があるデータベースのバージョンを特定するための信頼できる方法です。

  • パッチのリストと、それらが適用されるハッシュが関連付けられたものを含みます。
  • データベースをアップグレードする必要がある場合、現在のデータベース構造に対応するハッシュを検索するアプリケーションを実行し (ローカル データベースのハッシュを計算し、それを所有しているハッシュ セットと比較することによって)、関連するパッチを適用します。
  • 次のハッシュが見つからなくなるまで繰り返します。

このアプローチの弱点を教えてください。

4

1 に答える 1