2016-06-21 4 views
0

私は2つのデータベースDEVとテストを持っています。プロダクションデータベースへの最初の移行

DEVは私によって維持されており、コードの最初の移行を使用してここ数週間開発しています。

TESTは、データベースを最新のバージョンに更新するためにSQLスクリプトを提供したいDBAによって管理されます。

これは、このシナリオでは、最初のコードを使用して初めてです、私はそのようしかしそのそれほど単純ではないコマンドに

Update-Database -Script 

を使用する必要があることを前提としています。

私が探しているのは、どの移行が最後にデータベースに適用されたかを指定する方法です。

例えば、私は移行は、私はTESTは現在、V1.2とDEVを実行していることは1.6であることを知っているv1.0を、1.1、1.2、1.3、1.4など

の番号が付けられているので、私は1.5にTESTを更新したいです(これは最新のバージョンではないことに注意してください)、そのスクリプトをビルドするコマンドは何ですか?

しかし私は、これは私に戻ってDEVが1.6

に更新するために、1.5にバックではなく、スクリプトであるバージョン1.6からロールスクリプトを与える私のDEVデータベースへの移行1.5を比較し

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

を試してみました

私はプロジェクト内の接続文字列をTESTデータベースを指すように変更してからコマンドを実行することができますが、回避策のように思えます。どの移行を開始するのか、どのような移行を行うのかを指定できる方法が必要ですスクリプトを作成するには?

理想的には、私のdevデータベースをTESTと同じバージョンにロールバックしないでこれを実行したいと思います。

答えて

1

あなたのパッケージマネージャコンソールで次のコマンドを実行した場合は、更新-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

関連する問題