0

ローカルで正常に機能するMS SQL DBを使用してAzureに公開できます。Azureへの公開PublishSettingsを使用したMSSqlを使用したVisual Studio 2015から

私はhttpsと私のDBを使用しており、ローカルで正常に動作します。 私は、DBの任意のテーブルにアクセスしようとする場合を除いて、アプリは正常に動作します。私は、エラー

の下に取得することのAzureに私はアプリケーションを作成し、それにMSSQLをリンクしている前dbo.CarType because it does not exist or you do not have permissions.

オブジェクトを見つけることができません。私がこれをした後、公開された設定(以下、pwdマスク)を取得し、公開時にインポートします。 ところで、私はcode-first migrationsを使用しましたが、公開する前に、きれいなスレートで開始するように移行をリセットしてから、移行を追加しました。

.PublishShettingsファイル:

<publishData> 
    <publishProfile profileName="CrJbApp - Web Deploy" publishMethod="MSDeploy" publishUrl="crjbapp.scm.azurewebsites.net:443" msdeploySite="CrJbApp" userName="$CrJbApp" userPWD="Jrdab2E8xl4HidsdaRLS6oR5rPEtFPG8cHd20SYl4WtqFjymdc5qgf6sCsrC" destinationAppUrl="http://crjbapp.azurewebsites.net" SQLServerDBConnectionString="Data Source=tcp:g2ojj5kj5y.database.windows.net,1433;Initial Catalog=CrJbDb;User [email protected];Password=XXXXXX;" mySQLDBConnectionString="" hostingProviderForumLink="" controlPanelLink="http://windows.azure.com" webSystem="WebSites" targetDatabaseEngineType="sqlazuredatabase" targetServerVersion="Version100"> 
     <databases> 
     <add name="DefaultConnection" connectionString="Data Source=tcp:g2ojj5kj5y.database.windows.net,1433;Initial Catalog=CrJbDb;User [email protected];Password=XXXXXXX;" providerName="System.Data.SqlClient" type="Sql" targetDatabaseEngineType="sqlazuredatabase" targetServerVersion="Version100" /> 
     </databases> 
    </publishProfile> 
    <publishProfile profileName="CrJbApp - FTP" publishMethod="FTP" publishUrl="ftp://waws-prod-am2-051.ftp.azurewebsites.windows.net/site/wwwroot" ftpPassiveMode="True" userName="CrJbApp\$CrJbApp" userPWD="Jrdab2E8xl4HidsdaRLS6oR5rPEtFPG8cHd20SYl4WtqFjymdc5qgf6sCsrC" destinationAppUrl="http://crjbapp.azurewebsites.net" SQLServerDBConnectionString="Data Source=tcp:g2ojj5kj5y.database.windows.net,1433;Initial Catalog=CrJbDb;User [email protected];Password=XXXXXXXX;" mySQLDBConnectionString="" hostingProviderForumLink="" controlPanelLink="http://windows.azure.com" webSystem="WebSites" targetDatabaseEngineType="sqlazuredatabase" targetServerVersion="Version100"> 
     <databases> 
     <add name="DefaultConnection" connectionString="Data Source=tcp:g2ojj5kj5y.database.windows.net,1433;Initial Catalog=CrJbDb;User [email protected];Password=XXXXXXXX;" providerName="System.Data.SqlClient" type="Sql" targetDatabaseEngineType="sqlazuredatabase" targetServerVersion="Version100" /> 
     </databases> 
    </publishProfile> 
</publishData> 
+0

何も問題がなければ、__MigrationHistoryテーブルを削除して、add-migrationの後にupdate-database -verboseを実行できます。欠点はあなたが移行を失うことです。いつでもテーブルの名前を変更しましたか?その場合、名前変更コマンドを最初に実行する必要があります。 – Aravind

答えて

0

これが直接あなたのEF移行の質問に答えるが、代替ソリューションですされません。私たちは移行を試みましたが、代わりにデータベースプロジェクトとDACPACを使用することに決めました。これは非常にうまく動作します。それを試してみるべきです。助けのための

http://dotnetcatch.com/2016/02/10/deploying-a-database-project-with-msdeploy/

0

感謝。私は評判スコアが11にすぎないので、「有用な」点を追加することはできませんでした。

しかし、私の問題は次のとおりです。 - マイグレーションを削除します(マイグレーションのみ)。 - Configuration()コンストラクタのMigrations/Configuration.csに次の行を追加します。 AutomaticMigrationDataLossAllowed = true; - 公開時に、移行を実行するオプションをオンにして、Seedメソッドを実行します。

答えに有用な点を追加する方法を教えてもらえれば分かります。

関連する問題