Как мне создать таблицу базы данных при новой установке приложения? - PullRequest
1 голос
/ 06 января 2011

Я работал над CMS на базе ASP.NET MVC2, используя репозиторий linq-to-sql на основе poco, который подключен к базе данных SQL 2008.

Я заканчиваю работу над CMS, и сейчас я думаю о развертывании. В идеале я бы хотел, чтобы процесс установки был примерно таким:

  1. Копировать решение CMS в расположение сервера
  2. Создать пустую базу данных
  3. Изменить строку подключения БД в web.config к новой базе данных
  4. Запуск сценария для создания таблиц БД (включая отношения, ограничения и данные по умолчанию) .

Я не уверен, с чего начать с такого рода проектом. У меня ограниченный опыт работы с хранимыми процедурами. Если это возможно сделать программно в C #, это было бы предпочтительнее, потому что мне было бы легче работать.

Есть мысли о том, с чего мне начать с этого?

Редактировать - Новые мысли

Интересно, насколько сложно было бы просто иметь файл базы данных (mdf?), Который можно было бы просто переименовать и скопировать на сервер sql. Это вообще возможно?

Ответы [ 3 ]

2 голосов
/ 06 января 2011

Я бы предложил создать сценарий создания вашей новой базы данных и включить его в качестве шага при установке приложения.

Вы можете позволить SQL Enterprise manager выполнить большую часть работы, чтобы вы также создали сценарий.Если вы используете менеджер предприятия, просто щелкните правой кнопкой мыши по вашей базе данных и выберите:

Задачи -> Создать сценарии

В этом мастере выберите базу данных и «Сценарий всех объектов ввыбранная база данных ".Это приведет к генерации скрипта создания для всего вашего дБ.

Затем вы можете взять этот файл сценария и включить его в качестве ресурса в программу установки, а затем запустить его во время установки, чтобы создать полный дБ.

Если вы идете по этому маршруту, стоит подумать о типе данных.Возможно, вы захотите включить другой шаг сценария, который будет заполнять данные вашего типа, поскольку 1-й сценарий будет генерировать только ваши дБ, таблицы и процы.

0 голосов
/ 06 января 2011

Встраивание базы данных, вероятно, ваш лучший выбор.Вы можете использовать .mdb, или SQLite, или похожий.Если вы используете .mdb, просто создайте шаблон .mdb, а затем сделайте его ресурсом проекта.Затем вы можете скопировать его в место назначения и изменить его оттуда.

Я бы использовал SQLite в качестве открытого источника, и тогда вам не придется возиться с изменением строки подключения, потому что вы просто будетеиспользуя каталог установки программы для его хранения.

0 голосов
/ 06 января 2011

Два способа, которые я могу придумать, работая над головой:

1) Проекты веб-настройки - аналогично этому посту здесь и добавьте свои собственные пользовательские действия 2) Сделайте так, чтобы при первом запуске приложения оно выполняло поиск БД, а если оно не было найдено, оно дает вам возможность добавить строку БД / Соединение.

И то, и другое можно сделать в C #. Вы не будете использовать хранимые процедуры, пока не настроите БД, потому что именно там находится SPROCS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...