今日、私は多くのリファクタリングとクライアント マシンへの公開を必要とする、非常に厄介な DB を持つプロジェクトを維持しています。
データベースのスクリプトだけを含むSQL Server データベースプロジェクトを追加し、.dacpac
クライアント データベースを自動的に変更できるようにするファイルを作成できることはわかっています。
また、フォルダーに.mdf
ファイルを追加するだけで、そこにデータベースを作成できることも知っています。既に存在するため、SQL Server なしでソリューションを起動できると思いますApp_Data
Solution_Data
localDb
そして最後に、エンティティフレームワークが独自の移行とともに存在することを知っています。しかし、私はそれを使用したくありません。なぜなら、移行でインデックスを追加および変更することができず、困難な移行シナリオを説明する必要があるときに柔軟性が足りないからです。
私の目標:
- クライアント DB への移行スクリプトを自動的に生成します。
- プロジェクトに参加した新しいプログラマーが自分のマシンに SQL Server をインストールする必要さえないように、私のソリューションを自己完結型にします。
- 1 ~ 2 回のクリックでローカル (開発) ベースを更新できます。
- データベースの変更履歴をさかのぼることができます (私は TFS サーバーを持っています)
- 最新の DB スキームを使用して、ソリューションにクリーンな (辞書またはルックアップ テーブルを使用する場合のみ) db を含めることができます。
- さらに、DB モデル ( EFまたは
.dbml
) を自動的に、または非常に簡単な方法で更新できるようにしたいと考えています。
だから私は何を尋ねるべきか:
目標を達成したい場合、この 2 つのアプローチを使用することの長所と短所は何ですか?
このツールを組み合わせて使用する必要があるのでしょうか。
または、MS の他の既存のツールについて知りませんか?
この DB からDALモデルを更新する方法はありますか?