2016-06-21 3 views
0

У меня есть две базы данных, DEV и TEST.Код первой миграции в производственную базу

DEV поддерживается мной, и я развиваюсь в течение последних нескольких недель, используя первые миграции кода.

TEST управляется администраторами баз данных, которым необходимы SQL-скрипты для обновления базы данных до последней версии.

Это мой первый раз, используя код первого в этом случае, я полагаю, что я должен был бы использовать команду

Update-Database -Script 

Однако его не так просто, как это.

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

Так, например, я миграции пронумерованы 1.0, 1.1, 1.2, 1.3, 1.4 и т.д.

Я знаю, что тест в настоящее время работает v1.2 и DEV находится на 1,6, я хочу обновить до 1.5 TEST (Обратите внимание, что это не самая последняя версия), какая команда для сборки этого скрипта?

Я попытался

update-database -Script -TargetMigration "v1.5" 

однако это сравнение миграции 1.5 в моей базе данных DEV, который дает мне сценарий, который катится назад от v1.6, что Дев находится на спине до 1,5, а не сценарий для обновления до 1.6

Я знаю, что я могу изменить строку соединения в проекте, чтобы указать базу данных TEST, а затем запустить команду, однако это похоже на обходной путь - должен быть способ, с помощью которого я могу указать, на какую миграцию начать и какую миграцию написать сценарий?

В идеале я хочу сделать это, не сворачивая мою базу данных dev обратно в ту же версию, что и TEST.

ответ

1

При выполнении следующих в вашем менеджере пакетов консоли вы получите подробную справку по команде Update-Database:

get-help Update-Database -detailed 

Оттуда вы можете увидеть параметры, и я думаю, что это то, что вам нужно.

-SourceMigration <String> 
    Only valid with -Script. Specifies the name of a particular migration to use 
    as the update's starting point. If omitted, the last applied migration in 
    the database will be used. 

-TargetMigration <String> 
    Specifies the name of a particular migration to update the database to. If 
    omitted, the current model will be used. 
+0

Точно, что мне нужно. благодаря – 5NRF

Смежные вопросы