[解決済み】SQL Serverデータベースのバージョン管理はどうやるの?
質問
データベースをバージョン管理下に置きたいのですが、どうすればいいですか?
私は常に、少なくとも いくつか のデータが含まれています。 アルム は、ユーザータイプや管理者について言及しています)。また、パフォーマンス測定のために、生成されたテストデータの大規模なコレクションを必要とすることもよくあります。
データベースにバージョン管理を適用するには?
どのように解決するのですか?
Martin Fowlerは、このテーマについて私のお気に入りの記事を書いています。 http://martinfowler.com/articles/evodb.html . 私は、スキーマダンプをバージョン管理下に置かないことにしています。 アンバランス というのも、私は本番用データベースを簡単にアップグレードしたいからです。
Webアプリケーションで、本番用のデータベースインスタンスを1つ持つ場合、私は2つのテクニックを使用します。
データベースアップグレードスクリプト
スキーマをバージョンNからN+1に移行するために必要なDDLを含む一連のデータベースアップグレードスクリプトです。 (これらはバージョン管理システムに格納されます。) _version_history_ テーブルのようなものです。
create table VersionHistory (
Version int primary key,
UpgradeStart datetime not null,
UpgradeEnd datetime
);
は、アップグレードスクリプトが実行されるたびに、新しいバージョンに対応する新しいエントリを取得します。
これにより、どのバージョンのデータベーススキーマが存在するかを簡単に確認でき、データベースのアップグレードスクリプトの実行が一度だけになるようにします。 繰り返しますが、これらは ではなく データベースのダンプを行います。 むしろ、各スクリプトは 変更点 あるバージョンから次のバージョンに移行するために必要なものです。 これらは、本番データベースに適用して、アップグレードするためのスクリプトです。
開発者用サンドボックスの同期化
- 本番用データベースをバックアップ、サニタイズ、シュリンクするためのスクリプトです。 本番用DBをアップグレードするたびに実行します。
- 開発者のワークステーションにバックアップを復元する(必要に応じて微調整を行う)ためのスクリプトです。 各開発者は、本番用DBをアップグレードするたびにこのスクリプトを実行します。
注意:私の自動テストはスキーマは正しいが空のデータベースに対して実行されるので、このアドバイスがあなたのニーズに完全に合うとは限りません。
関連
-
[解決済み] SQL Server : ログインに成功しましたが、「データベース [dbName] にアクセスできません。(ObjectExplorer) "と表示されました。
-
[解決済み] スカラー変数を宣言する必要があります。
-
[解決済み] SQL ServerでSELECTからUPDATEする方法とは?
-
[解決済み] SQL Server で複数行のテキストを 1 つのテキスト文字列に連結する方法
-
[解決済み] SQL Server テーブルにカラムが存在するかどうかを確認する方法は?
-
[解決済み] SQL Server の DateTime データ型から日付だけを返す方法
-
[解決済み] SQL ServerにおけるLEFT JOINとLEFT OUTER JOINの比較
-
[解決済み】SQL Serverで既存のテーブルにデフォルト値を持つカラムを追加する
-
[解決済み] SQL ServerでINNER JOINを使用して削除するにはどうすればよいですか?
-
[解決済み】データベースをgit(バージョン管理)下に置くには?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] SQL Server xp_delete_file パラメータ
-
[解決済み] パーセント値を保持するための適切なデータ型?
-
[解決済み] MS SQL Server 2005で行のSNoを自動的に設定する方法は?
-
[解決済み] 分散型トランザクションを開始できない
-
[解決済み] sp_addrolememberとalter user with default schemaの違いは何ですか...?
-
[解決済み] 関数内から実行できるのは、関数と一部の拡張ストアドプロシージャのみです。
-
[解決済み] SQL Serverで文字列からすべてのスペースを削除する
-
[解決済み] クエリでカラムを落とさずにデータ型を変更するには?
-
[解決済み] MS SQL Serverで数値をパーセントでフォーマットする
-
[解決済み] SQL ServerでGROUP BYと一緒にDISTINCTを使用する