Я полагаю, что текущий вопрос, это - оператор, был пропущен, и Вы пытались использовать var в другом месте, это не будет объявлено.
Мастер создания сценариев сделал именно то, что мне нужно.
Поддерживайте список всех сценариев изменений, которые вы применяете к своей базе данных разработчика, и применяйте их к производственной базе данных при развертывании.
В качестве альтернативы используйте сторонний инструмент, который может сравнить эти два. схемы и предоставить сценарий изменений, который затем можно будет запустить.
Я пытаюсь использовать такие инструменты, как RedGate SQL Compare , которые покажут вам «различия» между двумя версиями и фактически запишут компоненты, которые отличаются. Вы также можете сделать привычкой создавать сценарии для всех редакций вашей базы данных, чтобы иметь контрольный журнал внесенных вами изменений и применять их программным образом, когда вы будете готовы к развертыванию.
Лучше всего реализовать свои изменения в виде набора сценариев сравнения. Таким образом, вместо того, чтобы отбрасывать таблицу и воссоздавать ее, ваш сценарий выглядит как ALTER TABLE.
Существуют также инструменты, которые помогут вам в этом. Если вы сохраните копию исходной и новой базы данных, вы можете запустить инструмент для двух, который сгенерирует SQL, который переведет вас от одной версии к другой.
Лично мне нравится обновлять полные сценарии создания, а также поддерживать сценарий обновления всякий раз, когда я меняю схему для определенного выпуска. Я использовал Red Gate SQL Compare, и это очень хороший инструмент, но я предпочитаю поддерживать скрипты в рабочем состоянии.
Всегда пишите сценарий для внесения изменений в схему. Поместите сценарий в папку продвижения, чтобы при продвижении ваших изменений сценарии выполнялись для изменения каждой среды.
Migrator Dot Net is отличный инструмент для управления версиями вашей базы данных. Трудно вернуться к ручному отслеживанию скриптов и сравнению баз данных после того, как вы использовали миграции.
Visual Studio Database Edition неплохо справляется с этим . Он хранит всю вашу схему в исходных сценариях под контролем исходного кода вместе с остальной частью вашего кода. Он может анализировать вашу схему на предмет зависимостей, когда вы вносите изменения. Он может выполнять анализ передового опыта. И он может генерировать файл .dbschema, который может использоваться инструментом развертывания для обновления вашей базы данных до текущей схемы.
Фактически вы можете автоматизировать это с помощью непрерывной интеграции и создания дропов прямо в тестовую среду, промежуточную среду и даже производственную среду. . Это означает, что когда вы заходите в тестовую ветку, машина сборки построит продукт, запустите тесты проверки сборки и разверните ее на своем сервере разработки. Когда вы выполняете обратную интеграцию из тестовой ветки в основную ветвь, машина сборки собирает продукт, запускает BVT и развертывает на вашем промежуточном сервере тестирования / приемки. А когда вы интегрируетесь в ветку выпуска, машина сборки будет собирать, тестировать и, наконец, развертывать в производственной среде. Это правда, не многие организации готовы зайти так далеко и позволить процессу непрерывной сборки автоматически развертываться на действующих производственных серверах, и я считаю, что это своего рода радикальное мышление. Но я говорю, что вы должны больше доверять своим автоматизированным BVT и автоматизированным процессам, чем любому ручному тестированию и развертыванию.
запускает BVT и развертывает на вашем промежуточном тестовом / приемочном сервере. И когда вы интегрируетесь в ветку выпуска, машина сборки будет собирать, тестировать и, наконец, развертывать в производственной среде. Это правда, не многие организации готовы зайти так далеко и позволить процессу непрерывной сборки автоматически развертываться на действующих производственных серверах, и я считаю, что это своего рода радикальное мышление. Но я говорю, что вы должны больше доверять своим автоматизированным BVT и автоматизированным процессам, чем любому ручному тестированию и развертыванию. запускает BVT и развертывает его на вашем промежуточном тестовом / приемочном сервере. И когда вы интегрируетесь в ветку выпуска, машина сборки будет собирать, тестировать и, наконец, развертывать в производственной среде. Это правда, не многие организации готовы зайти так далеко и позволить процессу непрерывной сборки автоматически развертываться на действующих производственных серверах, и я считаю, что это своего рода радикальное мышление. Но я говорю, что вы должны больше доверять своим автоматизированным BVT и автоматизированным процессам, чем любому ручному тестированию и развертыванию. Но я говорю, что вы должны больше доверять своим автоматизированным BVT и автоматизированным процессам, чем любому ручному тестированию и развертыванию. Но я говорю, что вы должны больше доверять своим автоматизированным BVT и автоматизированным процессам, чем любому ручному тестированию и развертыванию.Попробуйте DBSourceTools.
http://dbsourcetools.codeplex.com
Он с открытым исходным кодом, и будет скриптом всей базы данных
- таблицы, представления, процедуры и данные на диск, а затем позволит вам воссоздать эту базу данных через цель развертывания.
Он специально разработан для того, чтобы помочь разработчикам получить контроль над своими базами данных.