Я досяг прогресу, вручну редагуючи файл проекту SSMS, щоб додати папки під рішенням. Відкрийте .ssmssqlproj файл у текстовому редакторі. Шукайте вузли під назвою LogicalFolder. Різний вузол - це хороша модель для того, що вам потрібно зробити.
Просто скопіюйте ці рядки та змініть ім’я в папку, яку ви хочете бачити. Також змініть значення типу на щось унікальне. Ось що я зробив.
<LogicalFolder Name="Tables" Type="4" Sorted="true">
<Items />
</LogicalFolder>
<LogicalFolder Name="Functions" Type="6" Sorted="true">
<Items />
</LogicalFolder>
<LogicalFolder Name="User-defined Table Types" Type="7" Sorted="true">
<Items />
</LogicalFolder>
ЗАБЕЗПЕЧИТИ ДЕРЖАВИ КОПІЮВАННЯ ФАЙЛУ ПРОЕКТУ (.ssmssqlproj). Якщо ви зіпсуєте редагування, як я робив кілька разів, проект не відкриється. Це буде не так вже й погано, якщо ви встановили надбудову TFS і перевіряєте файли свого проекту - ви можете просто відмовитись від змін. Але якщо ні, то обов’язково зробіть копію.
Потім я створюю папки під рішенням, щоб відповідати іменам логічної папки. Після цього я створив сценарій визначення таблиці та визначений користувачем скрипт визначення типу таблиці та зберег їх у своїх відповідних папках. Вони з'явилися в папці "Різне" в провіднику рішень, тому я перетягнув їх у відповідні папки.
Тут де ламалися речі. Тому що, я думаю, всі збережені процедури, функції, таблиця та тип є у файлах, що мають розширення .sql. Оскільки є файли .sql, вони були розміщені під папкою Запити в провіднику рішень. Однак вони все ще фізично знаходяться в потрібних папках на диску. Отже, це крок у правильному напрямку.
Я хочу перевірити, чи відповідає атрибут "Тип" у файлі проекту конкретним розширенням файлу, і чи можу я зрозуміти, що це таке. Якщо я можу отримати потрібні розширення, то SSMS розмістить файли у потрібній папці проекту.
Я можу подивитися на Visual Studio, щоб побачити, як це працює, оскільки SSMS базується на Visual Studio, відповідно до екрана їх вибуху.
Однак я там розлучаюся, тож, можливо, хтось із вас може розібратися з рештою!
.sql
файлі. Таким чином вам залишається лише відслідковувати один файл.