1

SQL ServerデータベースプロジェクトとSQL Server(SSMS)の実際のデータベースとの間に通常のワークフローを1回作成する必要があります彼らは同期しています。私がこれらのプロジェクトの1つを使用している主要な理由は、すべてをソース管理に保つことです。開発中にSQL Serverデータベースプロジェクトと実際のデータベース(SSMS)を同期させて維持

は、ここで私は物事をセットアップするために要した手順です。

  1. は、SQL Server Management Studioで実際のデータベースと全体のスキーマを作成します。
  2. VS2015で新しいSQL Serverデータベースプロジェクトを作成します。
  3. プロジェクトを右クリックし、実際のデータベースをインポートします。

プロジェクトが実際のデータベースと同期したので、今後どのように変更する必要がありますか?データベースプロジェクトでそれらを作成してから再パブリッシュするか、スキーマで作成しますか?基本的に私が言っているのは、両方の場所で開発中にスキーマを変更しないようにしようとしていることです。

答えて

2

一般的には、プロジェクトを変更し、ソースコントロールにチェックインし、必要に応じて変更をデータベースに公開することをお勧めします。あなたのプロジェクトはあなたのソースになります。それを分岐してマージし、開発を行うために必要なものを実行することができます。ただし、データベースを再公開することはありません。プロジェクトを公開するときに既存のものを更新します。あなたのプロジェクトとdbの間でdiffを行い、適切な更新/変更を行って、データベースをプロジェクトと一緒に並べるようにします。

私はSSDTでの私の経験についてブログに書きました:http://schottsql.blogspot.com/search/label/SSDTですが、見た目には他の素晴らしいリソースもあります。確かにいろいろなやり方があり、私が選んだものはあなたの環境に正確に合わないかもしれません。

+0

興味深いことに、Redgateのデータベースプロジェクトユーザーを対象に実施した調査では、大多数のユーザーがdevデータベースをオフラインにするのではなく、最初に変更していることがわかりました。私はこれがF5ビルドを待つ間にオーバーヘッドがあるからだと思う。 –

+0

さて、まずDBを変更しますが、SQL Source Controlが私に合った理由の1つは、DBを現在のブランチに持っていき、変更を加える必要があると感じたことです。ローカルで変更を加える(intellisenseは役に立ちます)が、その後すぐにSSDTにスクリプトをコピーします。テーブルの場合は、通常、まずER Studioを使用してモデルに同意し、ソース管理に追加します。しかし、共有環境へのプッシュはすべてそのSSDTプロジェクトに由来します。残りはちょうどスクラッチ作業です。 –

+0

まだReadyRollを試しましたか?これにより、Visual Studioでの接続開発がサポートされ、「スクリプトのコピー」ステップのオーバーヘッドが回避されます。 –

関連する問題