Управление образцами данных с помощью базы данных VS 2010 - PullRequest
4 голосов
/ 04 октября 2010

Я использую проект базы данных в Visual Studio 2010 для управления всем кодом моей базы данных.

Для моего приложения мы разделяем данные для каждого клиента в их собственную копию базы данных с общейбаза данных для сопоставления пользователей с соответствующей базой данных.

Я хотел бы сохранить несколько различных наборов образцов данных в TFS вместе с кодом и иметь возможность выборочного развертывания одного из них при необходимости.

Я создал сценарии для двух разных клиентских баз данных, и они оба были сохранены в каталоге после развертывания в tfs.Я хотел бы сохранить другой, который мы используем для демонстраций и модульного тестирования.

Есть ли способ сделать: r условным в SQLCMD?Есть ли другие предложения или лучшие практики, как это сделать?Я читал Руководящий документ по проектам баз данных Visual Studio 2010 , но пока ничего не нашел.

Заранее благодарен за любую помощь, которую вы можете предоставить.

Ответы [ 2 ]

3 голосов
/ 05 октября 2010

Я был на правильном пути, прежде чем добавить переменную в проект и проверить ее в скрипте.

Есть две маленькие зацепки:

  1. В файле .sqlcmdvarsзначение переменной должно включать в себя одинарные кавычки
  2. Этот метод создает один сценарий со всеми включенными примерами данных, но выполняется только тот, который указан в переменной.По мере того, как примеры данных становятся более полными, это станет довольно большим файлом, но для моих целей это вполне подойдет.Я мог видеть, как это может нарушить условия для действительно больших наборов данных.Кроме того, отдельные сценарии не могут содержать разделитель GO, поскольку он содержится в блоке BEGIN END.

Вот мой файл:

/* All deployments get the reference data */
:r .\ReferenceData.PostDeployment.sql

IF ('$(SampleSet)' = 'ClientA')
BEGIN
    :r .\SampleData.ClientA.PostDeployment.sql
END
ELSE IF ('$(SampleSet)' = 'ClientB')
BEGIN
    :r .\SampleData.ClientB.PostDeployment.sql
END

Благодарим Джейми Томсона и эта статья для бита в кавычках.

0 голосов
/ 04 октября 2010

Может быть, это не то, что вам нужно, а просто для создания базы данных и ее заполнения из .Net обзора использования широкого инструмента миграции.Мои предпочтения (Migrator.NET), но полный обзор можно найти там: http://flux88.com/blog/net-database-migration-tool-roundup/

...