2017-11-06 16 views
2

私は最近、WebプロジェクトをAsp.Net Core 2.0とEntity Framework Core 2.0に移行しました。EFコア2.0の移行 - dotnet ef migrations 'script'コマンドが空白ファイルを出力する

Webアプリケーションは、CLIコマンドは以下から離れて作業している正しく動作し、すべてのDOTNET EF移行さ:

dotnet ef migrations script {migrationname1} {migrationname1} -o my-file-name.sql 

クエリがエラーなしで実行するように表示された後、いずれかの画面またはファイルに何のSQLコードを生成しません。

WindowsでSQL Server Express(localdb)でVisual Studio 2017を使用しています。

誰かが移行してから問題を抱えているのではないかと疑問に思っていますか?

ここやGoogleでは何も見つかりませんので、ご了承ください。

+0

'-v'(冗長)オプションを追加すると詳細情報が得られますか? –

+0

Steve - 私は詳細な情報を得るために詳しい説明を使い、プロジェクトを新しい.NET Standard Classライブラリに変換してから再びやり直すなど、多くの調査作業の後で、これはEF Core 2.0ツールのバグです。 –

答えて

0

多くの無駄な労力と時間の後、これはdotnet ef migrations scriptのバグです(EF Core 1.0と同じように機能しません)。

Script-Migration -From 20171106124427_061120171243 

出力ブランク

Script-Migration -From 20171106124427_061120171243 -To 20171106124427_061120171243 

出力ブランク(-fromと-To値が同じであることに注意してください)

Script-Migration 20171106124427_061120171243 

出力ブランク

Script-Migration -From 20171106122611_061120171225 -To 20171106124427_061120171243 

出力SQL文期待どおりに(注 - d -Toの値が異なる)

Visual Studio 2017パッケージマネージャコンソールまたはCLIでこれを試しても同じ結果が得られます。さらに調査した後、それは答えを思わ

は以下である:

Script-Migration -From <PreviousMigration> -To <LastMigration> 

-fromの私の誤解であると-Toは、それは関係なく、これはに使用したかどうかの問題である属性のように思われます以前のバージョンで動作します。

私は誤って-Fromのマイグレーションファイルが結果のコード生成に含まれると想定していましたが、いくつかのテストの後ではこれは当てはまりません。