Как правило, для этого вам понадобятся сценарии SQL. В любом случае, я склонен делать это, поскольку в долгосрочной перспективе это значительно упрощает поддержку и управление версиями базы данных.
Основная идея заключается в том, что после запуска программы установки у вас будет специальное действие для выполнения этого сценария. Пользователю, выполняющему ваши настройки, потребуются разрешения на:
- Создать базу данных
- Создание таблиц и других объектов уровня базы данных во вновь созданной базе данных
- Заполнить данные
Ваши сценарии позаботятся обо всем этом, хотя. У вас будет команда CREATE DATABASE
, соответствующие команды CREATE SCHEMA
, CREATE TABLE
, CREATE VIEW
и т. Д., А затем, после построения схемы, соответствующие операторы INSERT
для заполнения данных.
Обычно я разбиваю это на несколько сценариев, но YMMV:
- Создать скрипт схемы
- «Обычные сценарии» (один для эквивалента
aspnet_regsql
для веб-проектов, один с созданием таблиц и протоколов журналов Enterprise Library)
- Создать скрипт хранимой процедуры, если необходимо (выполняется после создания схемы)
- Заполнить исходный скрипт данных
Для будущего обслуживания я создаю сценарии обновления, где один сценарий обычно обрабатывает весь процесс обновления.
При написании сценариев обязательно используйте соответствующие проверки безопасности (IF EXISTS
и т. Д.) Перед созданием объектов. И я склонен делать мои транзакции тоже.
Удачи!