У нас есть несколько сценариев SQL, которые сгенерированы из модели сущностей, и их нужно запускать в правильном порядке + есть несколько сценариев заполнения, которые вставляют некоторые тестовые данные в БД.
Теперь мне нужно открыть каждый из этих сценариев в Visual Studio в правильном порядке и нажать «Выполнить SQL» (ctrl shift E)
Есть ли способ создать что-то вроде Master.sql, и внутри я хотел бы использовать некоторые include. Что-то вроде:
BEGIN TRANSACTION
ImportOrInclude myDB1.sql
ImportOrInclude myDB2.sql
...
COMMIT
Мне нужно это только для запуска из Visual Studio, это не будет частью самого приложения.
Как это сделать?
Редактировать
Я обнаружил, что есть что-то, называемое SQLCMD Scripts, которое может импортировать файл SQL
http://msdn.microsoft.com/en-us/library/aa833281%28v=vs.80%29.aspx
Но тогда у меня вопрос, как получить путь к каталогу текущего решения в команду : r
РЕДАКТИРОВАТЬ 2
Итак, я нашел, как это сделать, не идеально, но работает.
Плохо то, что $ (SolutionDir) не загружается из переменных VS, поэтому вам нужно установить его вручную.
Этот код предназначен для запуска в visual studio:
-- turn on in menu: Data -> Transact SQL editor -> SQL CMD mode
-- set this to path where the .sln file is.
:setvar SolutionDir C:\_work\projectname\
:!! echo $(SolutionDir)Maa.EntityModel.All\DbWEntityModel.edmx.sql
:r $(SolutionDir)Maa.EntityModel.All\DbWEntityModel.edmx.sql
go
:!! echo $(SolutionDir)Maa.EntityModel.All\DblQEntityModel.edmx.sql
:r $(SolutionDir)Maa.EntityModel.All\DbQEntityModel.edmx.sql
go