CIワークフローに統合するものを探しています。dbdeploy
について聞いたことがありますが、他のものを探しています。dbdeployが気に入らない理由は、サーバーにJavaをインストールしたくないからです。
もちろん、このソリューションには、いくつかのシェルスクリプトをつなぎ合わせる必要がないことをお勧めします。
CIワークフローに統合するものを探しています。dbdeploy
について聞いたことがありますが、他のものを探しています。dbdeployが気に入らない理由は、サーバーにJavaをインストールしたくないからです。
もちろん、このソリューションには、いくつかのシェルスクリプトをつなぎ合わせる必要がないことをお勧めします。
機能比較はこちら
Redgateはおそらくあなたが必要とするすべてを行います。しかし高価です。
編集-具体的には:http://www.red-gate.com/products/sql-development/readyroll/
これはツールではありませんが、Ambler と Sadalage の著書Refactoring Databases: Evolutionary Database Designは非常に優れています。
あなたはdbDeployが好きで、サーバーにJavaをインストールしたくないという事実を述べました。このツール の .NET ポートを認識していますか?
最近チームでこれを使用しましたが、とても満足しています。私たちの場合、SQL 2000 をターゲットにしていましたが、MySQL を含む他の DB プラットフォームに対して実行するように簡単に構成できました。もちろん、サーバーに.NET Frameworkをインストールする必要があります...それがJavaランタイムに対して許容可能な前提条件である場合。
可能性はあなたのケースではありませんが、Javaを使用することにした場合は、liquibaseを見てください
liquibase に興味はあるが、xml の移行は嫌いな人向けです。groovy マイグレーションをサポートするプラグインであるgroovy-liquibaseを見てください。
Liquibase は構造的には優れていますが、xml の移行がうまくいきません。このプラグインはその問題を解決します
うん、レッドゲートは魔法だ。そして、それが提供するものに対してそれほど高価ではありません。
継続的インテグレーション ワークフローにアジャイル DBRIREをお試しください。設定が簡単で、Dev DB からテスト データベースを生成できます。また、ステージングおよび本番用の増分 DB 更新を生成することもできます。このツールは、DEV と Staging/Production DB を比較し、メタデータとデータ更新 SQL スクリプトを生成できます。ツールは無料です。
これらのツールは非常に優れていると思いますが、私の目的のために、独自のカスタムツールを作成しました。これの主な理由は、SQL Server Compact 3.5データベースで作業しているため、リストされているツールのいずれも機能しなかったためです。
もちろん、Redgateのツールほど強力ではありませんが、最も重要な機能をすばやく取得できます。
あらゆる種類のデータベースオブジェクトの名前を変更したり、列を他のテーブルに移行したり、2つのデータベースの差分スクリプトを作成したりできます。
データベースのリファクタリングの重要な部分は移行部分です。EF や Java を必要としない .NET 移行ソリューションは、Rob Reynold のRoundhouseです。
チェックアウトする価値があるかもしれません。
Visual Studio チーム システム (データベース エディション) は、いくつかのリファクタリングを行います。
データベースのリファクタリングの本を読みました。役に立つと思います。
しかし、ソフトウェア開発では、安全にリファクタリングできるようにテストを作成します。Refactoring Databases book のテストには触れていませんが、これは私にとって大きな失望でした。