2

データベーススキーマの列が誤ってから変更されたため、最近アップグレードの問題が発生しました

("SECURED" NUMBER(1,0) DEFAULT 0 NOT NULL);

("SECURED" NUMBER(1,0) DEFAULT NULL NOT NULL);

分析後、列がSQLエディタークライアントにコピー貼り付けされたようで、いくつかの制約が失われました。

私は、ホスト構成に関してPuppetができることを気に入っています。私が理解していることから、マニフェストでホスト構成を宣言してから、Puppetはホストが構成要件を満たしていることを確認し、満たさない場合は、システムが構成されていることを確認するために必要なすべてを行います。マニフェストで宣言されているとおり。

同様のツールがデータベースフィールドに存在することを望みます。テーブル、列名、タイプ、制約などを使用してデータベーススキーマを宣言します。ツールを実行するたびに、スキーマ定義が尊重され、そうでない場合は修正されます。

このツールは、制約が正しくないことを「認識」し、DEFAULT NULLそれをに変更してDEFAULT 0、自動化によるヒューマンエラーを修正しました。

そのようなツールが存在するかどうか知っていますか?

4

1 に答える 1

1

SchemaCrawlerを使用して、データベース スキーマの比較を自動化できます。SchemaCrawler は、データベース スキーマの詳細をテキストとして生成する無料のコマンド ライン ツールです。データベース スキーマのテキスト ファイルの生成を定期的に自動化し、予想されるテキスト ファイルと比較することができます。自動修正に関しては、本番スキーマではそれを行わないことをお勧めします。おそらく、スキーマを更新する必要があることを人間に警告する必要があるでしょう。

Sualeh Fatehi、SchemaCrawler。

于 2012-09-19T17:13:43.580 に答える