我使用tutorial from Microsoft将我的应用部署到Azure。
将我的Web应用部署到Azure时,迁移不适用。还有另一个错误,说表“AspNetRoles”已经存在。
它加载初始页面很好,但当我尝试点击不同的页面时,我得到了这个错误:An internal server error showing that migrations haven't been updated in the database
需要说明的是,该映像来自已部署的Web应用程序,我现在将其置于开发模式,因为这些错误不会发生在我的本地计算机上。
当我在本地测试我的应用程序时,一切都运行得很好,数据库也正确地更新了我的新迁移。我希望收到同样的错误,但我没有。
我尝试在Program.cs文件中注解和取消注解context.Database.EnsureCreated()和context.Database.Migrate()行,并部署它,但发生了相同的错误。
我正在使用正确的连接字符串。
我已经使用SSH并遵循这些命令:cd /home/site/wwwroot
./migrate
并得到错误消息There is already an object named 'AspNetRoles' in the database.
编辑:我认为问题可能是在我的GitHub上的deademory moment中,如这里所见screenshot of github build with the dotnet bundle migration opened。我想知道这是否是因为我没有在我的bundle中复制'appsettings.json',如果我需要应用迁移,这是目前的主要问题。我不知道这意味着什么,也不知道如何做到这一点。
1条答案
按热度按时间ldfqzlk81#
我不能确定是什么问题,但我通过在Program.cs中添加
context.Database.EnsureDeleted()
和context.Database.EnsureCreated()
来修复它。这是代码块,箭头指向修复我的问题的地方。
字符串
我不再得到AspNetRoles已经在数据库中的错误。