это в значительной степени то, как я делал это раньше.
Я бы просто позаботился о том, чтобы каждое утверждение в вашем скрипте выглядело примерно так:
IF (EXISTS(SELECT * FROM Country WHERE CountryId = 1))
UPDATE MyTable SET Name = 'UK' WHERE CountryId = 1 AND Name != 'UK'
ELSE
INSERT INTO MyTable (CountryId, Name) VALUES (1, 'UK')
Это означает, что каждый разпри развертывании базы данных ваши базовые справочные данные будут вставлены или обновлены, в зависимости от того, что наиболее подходит, и вы можете изменить эти сценарии для создания новых справочных данных для более новых версий базы данных.
Вы можете использовать шаблон T4 длясгенерируйте эти сценарии - я делал нечто подобное в прошлом.