2016-04-27 9 views
1

私はAzure Web/SQLにステージ/プロダクションで公開するクロスプラットフォームEFコアローカル開発者のための改善されたソリューションを探しています。EFコアSQLite for MacとWindows Azureに公開

現在の局所解:
私はASP.NETコア、EFコア、アイデンティティ、SQLiteのを使用してのMacOSとWindowsでの地域開発とMVC 6アプリを持っています。私はそれがMacとWindowsの両方にとって唯一の安定したdbプロバイダだと思うので、SQLiteが選ばれました。データベースの移行が必要となる変更が行われるたびに、私たちは

1)がローカルのSQLiteデータベース(s)は、既存の移行とContextModelSnapshotファイル 2)を削除し、「初期」の移行を作成するスクリプトを実行
3 )は、私たちは、Windows

上でIIS Expressを使用して
4)は、スクリプトのWindowsのバージョンは、wwwrootディレクトリにSQLiteのデータベースを移動するデータベースを更新

注:マイグレーションは、フォルダはローカルdevに関する.gitignore

では無視されますソリューションはworkiですng。

私はアズールに我々を公開:
1)services.AddEntityFramework().AddSQLite()接続をコメントアウトし、SQLServerの接続
2に切り替え)新鮮な移行を作成するためのスクリプトを実行します(などSQLiteのは、AzureのSQLで動作しないため、移行はバックのSQLiteへ
5)スイッチの設定を公開し、地元のdevのに

を続ける)SQL Azureの
4上のデータベーステーブルを削除するスクリプトを実行します)
3)生成しました私は思っているg誰かが、手作業の大部分を排除し、削除の代わりに移行するステージング/本番データベースがある場合のシナリオを処理する優れたソリューションを提案することができます。

+0

この問題の解決策を見つけられましたか?私はこの同じ状況で自分自身を見つける...スクリプト部を除いて。 – NovaDev

+1

@NovaDev私はまだもっと良い解決策を考え出していません。 –

答えて

1

Startup.cs as describedの環境固有の解決策は唯一の正しい解決策のようです。

基本的には、ConfigureDevelopmentServices()メソッドを作成し、そこで環境固有の設定を追加します。

関連する問題