2016-07-08 9 views
0

EF6コードベースの移行を使用するデプロイメントが終了すると、DBAに電子メールを送信する必要があります。 powershellを使って冗長フラグ付きのmigrate.exeツールを使用してスクリプトを取得することはできますが、各コマンドは10222文字後に切り捨てられます。これは通常、migrateHistoryのモデルハッシュにのみ影響します。誰 EFコードの最初の移行を使用してpowershellからスクリプトを生成する方法

PowerShellの

を通じてEF6の移行のための完全なSQLスクリプトを生成する方法を知って感謝 T

答えて

0

はmigrate.exeのは、だから私はのように必要な変数を渡してオブジェクトを作成したtoolingfacadeクラスをラップしていることを考え出したんverbosedelegateの設定と同様ですこれについての良い点は、私がSQLスクリプトを取得したければ、代わりにupdatedcript関数を実行できることです。

[Reflection.Assembly]::LoadFrom("EntityFramework.dll") | Out-Null 
$con = New-Object -TypeName System.Data.Entity.Infrastructure.DbConnectionInfo -ArgumentList @("constring", "System.Data.SqlClient") 
$tools = New-Object -TypeName System.Data.Entity.Migrations.Design.ToolingFacade -ArgumentList @("dbcondllname", "dbcondllname",$null,"workingdr",$null,$null,$con) 
$tools.LogVerboseDelegate = {param($sql) 
    Write-Verbose $sql -verbose #dumps the sql to RM log 
} 
$tools.Update($null,$false) 
関連する問題