2012-05-06 8 views
6

私がサポートしているアプリケーションでは、最近私はDB構造をいくつか変更しました。データベース構造を自動更新するためのツールまたはAPIがあります

私は更新をユーザーに送信しますが、最新の状態に保つのは非常に難しいです。

これを行う簡単な方法はありますか?

ユーザーがバージョンをスキップできるものの、インストールする次のバージョンでも更新を行うことができるもの。

私はBlackFishデータベースを使用しています。データベース内

おかげ

+3

パッチが正しい順序で適用されていることを確認しますか?それでは、何の問題もないはずです。 – Ben

+1

@Benに同意します。ユーザーが一部の更新プログラムをスキップした場合、その更新プログラムを実行した後、最新の更新プログラムを適用する前にシーケンス内のすべての更新プログラムをインストールします。 IMHOはこれを行う最も無痛な方法です。 – TLama

+3

BlackFish SQLを実際に使用した人は誰もいませんでした。 –

答えて

5

だけでストアデータベースのバージョン番号と、このような移行スクリプト記述:

  • database_10.sql - 1.0から移動するための移行スクリプト - 初期のDB構造
  • database_10_15.sqlを〜1.5
  • database_10_17.sql - 1.5から1.7に移行する移行スクリプト

アプリケーションの起動時にデータベースのバージョン番号を確認し、必要な移行スクリプトを適用します。

0

サイドノート:

小規模なプロジェクトのためにも、それに対する別の魅力的な選択肢は、コンポーネントACE Absolute Databaseです。


今ポイントに直接:

個人的な版(無料)が(そのソースコードと一緒に)DBManagerのという名前のカスタムユーティリティが付属しています。

enter image description here

これは、プログラム、データベースの構造変化(Delphiの道を!)を管理する方法を出発点としての役割を果たすことができます。

BlackFishに移植してみませんか?

0

データベースを変更することはほとんどありませんが、テーブルまたは時には列を追加するだけです。私のプログラムを起動するとき、それは上記の列やテーブルの存在をチェックし、そこになければそれを作成しようとします。

関連する問題