【发布时间】:2016-03-22 05:54:11
【问题描述】:
我可以使用 MS SQL DB 发布到 Azure,这在本地可以正常工作。
我的数据库与https 一起工作,并且在本地运行良好。
发布应用程序后,除非我尝试访问数据库的任何表,否则该应用程序工作正常。我得到以下错误
找不到对象
dbo.CarType because it does not exist or you do not have permissions.
在此之前,我在 Azure 中创建了一个应用程序并将其链接到一个 MSSql。完成此操作后,我得到了已发布的设置(下面,pwd 被屏蔽),然后我在发布时导入。
顺便说一句,我使用了code-first migrations,但在发布之前我确实重置了迁移以从一个干净的状态开始,然后添加了一个迁移:add-migration Initial。
.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 Id=XXXXXXX@g2ojj5kj5y;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 Id=XXXXXXX@g2ojj5kj5y;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 Id=XXXXXXXX@g2ojj5kj5y;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 Id=XXXXXXX@g2ojj5kj5y;Password=XXXXXXXX;" providerName="System.Data.SqlClient" type="Sql" targetDatabaseEngineType="sqlazuredatabase" targetServerVersion="Version100" />
</databases>
</publishProfile>
</publishData>
【问题讨论】:
-
如果没有任何效果,您可以删除 __MigrationHistory 表并运行 add-migration,然后运行 update-database -verbose。缺点是您将失去迁移。你也有机会重命名任何表吗?在这种情况下,必须先运行重命名命令。
标签: sql-server azure visual-studio-2015 publish entity-framework-migrations