データベース変更管理ワークフローを導入しました。これはSQLスクリプトに基づいています(したがって、マネージコードベースのソリューションではありません)。
基本的な設定は次のようになります。
Initial/
Generate Initial Schema.sql
Generate Initial Required Data.sql
Generate Initial Test Data.sql
Migration
0001_MigrationScriptForChangeOne.sql
0002_MigrationScriptForChangeTwo.sql
...
データベースを起動するプロセスは、すべての初期スクリプトを実行してから、順次移行スクリプトを実行することです。ツールは、バージョン管理要件などを考慮します。
私の質問は、この種の設定では、これを維持することも有用ですか?
Current/
Stored Procedures/
dbo.MyStoredProcedureCreateScript.sql
...
Tables/
dbo.MyTableCreateScript.sql
...
...
「これ」とは、データベースの現在/最新バージョンを起動するための作成スクリプトを表すスクリプトのディレクトリ(オブジェクトタイプで区切られた)を意味します。
どういうわけか、私はそのアイデアが本当に好きですが、その必要性を具体的に正当化することはできません。私は何かが足りないのですか?
利点は次のとおりです。
- 開発とソース管理の場合、これまでと同じファイルごとのオブジェクトの設定が必要になります
- 展開の場合、Initial + Migrationを実行するか、Current /からスクリプトを実行することにより、新しいDBインスタンスを最新バージョンにスピンアップできます。
- 開発者の場合、開発を行うためにDBインスタンスを実行する必要はありません。Current/フォルダで「オフライン」開発を行うことができます。
欠点は次のとおりです。
- 変更するたびに、Current /フォルダー内のスクリプトを更新し、(Migration /フォルダー内に)移行スクリプトを作成する必要があります。
ご入力いただきありがとうございます!