Страницы

Поиск по вопросам

воскресенье, 29 декабря 2019 г.

Добавление базы данных MS SQL Server в Solution и git

#sql_server #visual_studio #git #github


в общем пишу веб приложение ASP.NET, ну и у меня есть потребность залить его на GitHub,
проблема заключается в том что к проекту подключена база данных MS SQL Server, и без
БД приложение естественно работать не будет. 

Допустим у меня есть друг/партнер с которым мы вместе решили разрабатывать это веб
приложение. 

Насколько я знаю, в ASP.NET есть папочка App_Data, где как написано в книжечке с
которой я ознакомился, должны желательно как раз и лежать БД, ну как туда запихать
БД я не знаю и вообще стоит ли это делать тоже не знаю. 

Я использую Visual Studio 2019, MS SQL Server 2017.

Я хотел бы узнать как эту проблему решить, желательно без издевок и подробно, или
есть какой то другой путь решения этой проблемы, в общем ПОМОГИТЕ ПОЖАЛУЙСТА!
    


Ответы

Ответ 1



Если база данных имеет сложную структуру с кучей таблиц, представлений, хранимых процедур и так далее, и при этом постоянно модифицируется, причём разными людьми, то самым правильным решением будет SQL Server Data Tools или сокрощённо SSDT. Это особый вид проекта Visual Studio для баз данных. Там в виде скриптов описывается струкура всей БД. Потом из этого проекта можно делать различные скрипты на изменения в БД. Но самое главное, эту структуру можно удобно хранить в git. У вас будет человеческая история изменений. Кроме того, данные в этой структуре не хранятся, так что объём получается небольшой (это важно, ведь git будет хранить все версии файла). Но если у вас в БД пара таблиц, которые в ближайшей перспективе не изменятся, то есть ещё такие варианты: Бэкап базы Data-tier application Скрипт на создание БД Наполнение каких-то служебынх таблиц, типа словарей, во всех случаях можно так же описать скриптом. Сама тема с SSDT слишком обширна, чтобы её просто так тут описывать.

Ответ 2



Насколько я знаю, в ASP.NET есть папочка App_Data, где как написано в книжечке с которой я ознакомился, должны желательно как раз и лежать БД Они вовсе не обязательно должны там лежать. Более того обычно файлы БД и сам MS SQL находятся на отдельном сервере, с которым прикладное ПО контактирует только через клиентскую библиотеку. Существует 2 способа решить Вашу задачу без особых трудозатрат: Сделать бэкап и приложить файл с ним к репозиторию (желательно с инструкцией по развёртыванию); Если используется EntityFramework и в целом платформа не очень старая, перейти на миграции. Тогда БД будет подниматься и обновляться по команде в консоли или автоматически (если Вы напишите соответствующий скрипт). Последний подход более современный и простой в развёртывании (особенно со скриптом).

Комментариев нет:

Отправить комментарий