データベースソースコントロールVS.スキーマ変更スクリプト
-
15-09-2020 - |
質問
建物の構築と維持それから多くのDEVをさらに多くのDEVを遂行することは、常にソフトウェア開発に進むものです。ビルドスクリプトを作成し、データベースとして適用される追加のスクリプトを時間の経過とともに拡大する更新スクリプトを更新します。このプロセスを自動化するのに役立つコンソールアプリケーション/ビルドスクリプトからコンソールアプリケーション/ビルドスクリプトへのコンソールアプリケーション/ビルドスクリプトからコンソールアプリケーション/ビルドスクリプトまで、これを管理する方法はたくさんあります。
これらのプロセスを構築/管理した人は誰でもデータベーススキーマ管理のためにソース管理ソリューションに移動しましたか?もしそうなら、彼らは何でも最善の解決策を見つけましたか?避けるべき落とし穴はありますか?
Red GateはMSSQLの世界で大きなプレーヤーのようです、そして彼らのDBのソース管理は非常に興味深いように見えます: http://www.red-gate.com/products/solutions_for_sql/database_version_control。 HTM
それは(デフォルト)データ*管理プロセスを置き換えるようには見えませんので、POVから変更管理プロセスの半分だけ交換してください。
(私がデータについて話しているとき、私はルックアップ値とそのようなもの、デフォルトで展開する必要があるデータ、またはDRシナリオ)
.NET / MSSQL環境で機能しますが、私は前提がすべての言語で同じであると確信しています。
解決
類似の質問
これらの既存の質問の1つ以上が役立つかもしれません:
- データベースの変更を管理するための最良の方法
- MySQLデータベースの変更トラッキング
- SQL Serverデータベースの変更ワークフローベストプラクティス
- データベースの変更(バージョンコントロール)
- dev dbからプロダクションへの変更の転送db
- データベース構造で行われた変更の追跡
またはデータベースの変更
他のヒント
私は仕事をしている銀行によって社内で開発されたデータウェアハウスの世話をします。これには絶え間ない更新が必要です、そして私たちはそれに取り組んでいる2-4の開発者のチームを持っています。
私たちの商品の一例しかないので、私たちは幸運なので、異なるバージョンにあるかもしれない複数のインスタンスに展開するためにCATERはできません。
データベース内のオブジェクト(表、ビュー、インデックス、ストアドプロシージャ、トリガ)の作成スクリプトファイルを保持します。
可能な限りALTER TABLE
の使用を避け、テーブルの名前を変更することを好み、新しいファイルを作成してデータを移行します。つまり、ALTER
スクリプトの履歴を検討する必要はありません.Createスクリプトを見ることで、常にすべてのテーブルのバージョンを表示できます。移行は別の移行スクリプトによって実行されます - これは部分的に自動生成されます。
リリースを実行するたびに、登録スクリプト/移行スクリプトを適切な順序で実行するスクリプトがあります。
FYI:ソースコードコントロールにVisual SourceSafe(Yuck!)を使用します。
私はSQL Serverのソース管理ツールを探しています - そして、Jobを実行している最高のプレミアムバージョンに遭遇しました - SQL Server Management Studioをプラグインとして使用しました。
リキベゼは無料のものですが、私は私のニーズのためにそれを働くことは決してありませんでした。
SSMSからの作品は、そこにある仕組みがあり、オブジェクトとデータをフラットファイルにスクリプト化します。
これらのオブジェクトは、新しいSQL Serverインスタンスに励起され、データベースオブジェクトを再作成することができます。
あなたは Liquibase ?