3

VS 2010 DB プロジェクトを SSDT (SQL Server Data Tools) プロジェクトに変換した後
(およびデータベースと SSDT プロジェクト間でいくつかの比較を行った後)、次のフォルダー構造を受け取りました。

  • 計画
    • データ生成計画
    • dbo
      • テーブル
      • ビュー
    • スキーマの比較
    • スキーマ オブジェクト
      • データベース レベルのオブジェクト
        • ...
      • スキーマ
        • dbo
          • プログラマビリティ
          • サービスブローカー
          • 同義語
          • テーブル
          • ビュー
    • スクリプト
      • 導入後
      • 導入前
    • 安全

Project\Schema Objects\Schemas\dboテーブルとビューの一部が下にあり、一部が下にあると思われる場合Project\dbo

実際の質問:

  1. 2 つの異なるフォルダがあるのはなぜですか?
    (インポートがこれに関係していると思われます。)

  2. ファイルを 1 つのフォルダーにまとめることはできますか?

  3. そうでない場合、どのフォルダーに新しいファイルを追加しますか?

  4. インポート中にバックアップの作成を選択した場合、バックアップ情報はどこに保存されますか? ・削除できるようにしたい。


編集:

別の矛盾 - ファイルの下Project\dbo\Tablesにはキーと制約が含まれていますが、下のファイルProject\Schema Objects\Schemas\dbo\Tablesは分割されています (テーブルごと、制約ごとなど)。

4

2 に答える 2

3

DBPro2005からDBPro2008にアップグレードしたときにも同じことが起こりました。まだSSDT形式に変換していませんが、前のケースでは、ファイルを古いフォルダーに統合し直しました。

ただし、プロジェクトが簡単だったり、データベースプロジェクトが比較的新しい場合は、プロジェクトを作り直しただけの場合もあります。(再作成/再インポートすると、ソース管理内のファイルの履歴が失われます。)

于 2012-06-13T18:06:09.207 に答える
2

インポートされたファイル (VS 2010 dbproj から) は下にあるのProject\Schema Objects\Schemas\dbo\Tablesに対し、その後に追加されたすべてのファイルは下にあるようですProject\dbo\Tables

新しい定義は異なるファイルやフォルダー (テーブル、インデックス、キーなど) に分割されないため、ファイル システム パスの深さが浅くなり、特定のテーブルに関するすべての情報を簡単に読み取ることができます (特にキー/インデックス/制約が削除された場合)。次に、テーブルのファイルの古いバージョンと比較します)。

テーブルをProject\dbo\Tablesメイン ファイルに移動し、サテライト ファイルの内容をメイン ファイルに移動するとうまくいくようです (ファイル内のコマンドの間に「GO」を追加する必要があります)。

もう 1 つのオプションは、(データベースとプロジェクトを比較して) sqlproj からデータベースを作成し、古いファイルを削除してから、プロジェクトとデータベースを比較して新しい形式でそれらを再作成することです。

于 2012-06-13T16:50:12.910 に答える