Как автоматически проверить файл базы данных в веб-приложении, контролируемом исходным кодом? - PullRequest
1 голос
/ 17 апреля 2010

Я работаю над веб-приложением ASP.NET, мы небольшая команда (4 студента), и у нас нет доступа к выделенному серверу для размещения экземпляра базы данных. Поэтому для этого веб-приложения мы решили просто поместить файл базы данных в папку App_Data.

Проблема в том, что наш проект контролируется источником на TFS, поэтому каждый раз, когда вы открываете решение и пытаетесь запустить веб-приложение, мы получаем исключение, в котором говорится, что база данных доступна только для чтения. Это логично, поскольку файл базы данных не извлекается автоматически.

Есть ли способ избежать ручной проверки файла базы данных каждый раз, когда мы открываем решение?

Спасибо.

Ответы [ 2 ]

1 голос
/ 17 апреля 2010

Никогда не проверяйте в файлах MDF. Вы должны разработать свой проект с помощью сценария развертывания, который создает таблицы и другие необходимые вам объекты базы данных. Никогда не изменяйте MDF напрямую из VS Server Explorer. Используйте основанный на версии подход к схеме базы данных .

Я знаю, что вы скажете «но трудно», но, поверьте мне, альтернатива, которой руководствуются волшебники VS, гораздо хуже. Не только с точки зрения командной разработки, но и с точки зрения развертывания. После развертывания v1 вашего сайта вы внесете изменения и захотите развернуть v1.1 или v2. Каждый раз вы сталкиваетесь с одной и той же дилеммой: у вас есть 4 файла MDF, по одному на каждый член группы, и 1 на развернутом сайте, и просто нет возможности выровнять схемы. В конечном итоге вы будете запрашивать средства сравнения SQL, такие как SQL Compare, но они стоят тонну денег и далеки от совершенства, когда речь идет об обслуживании схемы SQL.

Кроме того, наличие сценариев в качестве источника базы данных также хорошо согласуется со всеми другими вкусностями управления исходным кодом, такими как отслеживание того, кто что изменил и когда.

0 голосов
/ 17 апреля 2010

Если вы можете установить дополнение «Visual Studio Team System Database Edition» для Visual Studio (ранее называвшееся «Visual Studio Team Edition для профессионалов баз данных», ранее называвшееся «DBPro»), вы можете импортировать свою текущую базу данных в Проект базы данных Visual Studio, который может быть частью общего решения VS.

Это позволяет вам управлять объектами схемы (таблицами, хранимыми процессами, разрешениями и т. Д.) В Visual Studio и легко интегрировать схему вашей базы данных с TFS.

Это также позволяет вам развернуть схему в вашем VS Project на сервере базы данных, автоматически обрабатывая изменения без потери данных (или сбоя, если данные будут потеряны).

Надстройка для VS 2008 находится по адресу: http://www.microsoft.com/downloads/details.aspx?FamilyID=bb3ad767-5f69-4db9-b1c9-8f55759846ed&displaylang=en

...