0

私は、共通のデータベースを共有する複数のサービスを使用するプロジェクトに取り組んでいます。運用エラーによってデータが破損するリスクを最小限に抑えたいのですが、防止したいケースの1つは、新しいDBに対して古いコードを実行することです。

つまり、どういうわけかDBにバージョンをスタンプして、そのバージョンより古いすべてのサービスを起動時にエラーにしたいのです。そうすれば、DBが移行されると、新しいDBに対して古いコードを開始することはできません。他の人々がこれに取り組んできた既成の方法はありますか?私はDjangoを使用していますが、他のフレームワークで使用されるソリューションにも興味があります。

4

2 に答える 2

1

ストア アプリケーションと最小アプリケーション バージョン番号の単純な表を作成できます。

アップグレード DB スクリプトの一部は、このテーブルにデータを入力します。アプリケーションが起動すると、そのバージョンがテーブル内の最小バージョンと照合され、バージョンが低すぎる場合は爆発します。

これを実行する既存のパッケージを認識していませんが、達成するコードはそれほど多くないようです。私はその考えが好きです。

于 2011-08-05T22:10:52.570 に答える
0

サウスを使用している場合は、すべてのアプリケーションのすべての移行が適用されているかどうかを確認するミドルウェアを作成できます。適用されていない場合は、ハードコーディングされたメンテナンス警告ですべての要求に応答させることができます。

もちろん、これを一度だけ実行したいでしょう。

于 2011-08-05T22:28:59.980 に答える