1

データベースをVS2012 SQLサーバープロジェクトに移行することになっています。ターゲット データベースからすべてのスキーマをインポート済みです。シード データは、プロジェクトの配置後スクリプトに追加されます。ただし、さまざまな機能強化に取り組んでいる間に、開発者によって多くのスクリプトが追加されることも予想されます。これらは、スキーマ スクリプトの変更や、データの追加、編集、削除のスクリプトである可能性があります。そして、それらはすべて展開後に順番に実行する必要があります。理想的には、1.0.0.0 実行、1.0.0.2、1.0.1.0 というスクリプト名の順に実行する必要があります。SQL Server プロジェクトでは、デプロイ後の複数のファイルを使用できません。私がオンラインで見つけることができるのは、プロジェクトの作成方法だけですが、さまざまなリリースサイクル中に開発者によって行われた変更 (スクリプトの変更) を考慮した構造の作成について誰も話していません。誰かがここで私を助けてくれますか?

4

2 に答える 2

1

スキーマ比較により、独自の変更スクリプトをコーディングする必要がなくなります。スキーマ比較は、データベース プロジェクトのスキーマをデータベース サーバーと比較することにより、変更スクリプトを自動的に作成します。

これは、スキーマ比較の適切なウォークスルーです

于 2014-07-11T14:02:23.443 に答える
1

これが私がこれまでに行ったことです。

  • Keith の入力に従い、プロジェクトを作成しました
  • スキーマベースの変更を処理するためにスキーマ比較を使用
  • Build Action = PostDeploy を使用して単一のマスター スクリプトを作成しました
  • データ スクリプトの場合、さまざまなバージョンに基づいてスクリプトを分離するために、バージョンという名前のフォルダーを作成しました
  • これらのスクリプトのエントリをマスター ポスト デプロイ スクリプトに構文 :r Folder\MyScript.sql で追加しました。

これは当面は機能しますが、フォルダー内のカスタム スクリプトがマスター デプロイ後のスクリプトで自動的に取得されるようにするためのより良い方法があるはずです。このソリューションでは、開発者がスクリプトを追加するたびに、マスター展開スクリプト (:r MyCustomeDataScript.sql) にエントリを作成する必要があります。

これを行うためのより良い方法があると思いますが、私はそれを知りません。私は、マスター デプロイ スクリプトへの新しいスクリプトの手動入力を自動化できる方法を見つけるために取り組んでいます。

于 2014-07-14T08:46:19.720 に答える