Существуют ли передовые практики для загрузки данных в базу данных, которые будут использоваться с новой установкой приложения?Например, для запуска приложения foo требуется несколько базовых данных, прежде чем его можно будет даже запустить.В прошлом я использовал пару опций:
TSQL для каждой строки, которую необходимо предварительно загрузить:
IF NOT EXISTS (SELECT * FROM Master.Site WHERE Name = @SiteName)
INSERT INTO [Master].[Site] ([EnterpriseID], [Name], [LastModifiedTime], [LastModifiedUser])
VALUES (@EnterpriseId, @SiteName, GETDATE(), @LastModifiedUser)
Другой вариант - это электронная таблица.Каждая вкладка представляет собой таблицу, и данные вводятся в электронную таблицу, когда мы понимаем, что нам это нужно.Затем программа может прочитать эту таблицу и заполнить базу данных.
Существуют осложняющие факторы, в том числе отношения между таблицами.Так что это не так просто, как загрузка таблиц самостоятельно.Например, если мы создаем строки Security.Member, то мы хотим добавить эти элементы в Security.Role, нам нужен способ поддерживать эту связь.
Еще один фактор - не все базы данных будут пропускать эти данные,В некоторых местах уже будет большая часть данных, а в других (это могут быть новые места по всему миру) начнутся с нуля.
Любые идеи приветствуются.