在AWS上部署时,MySQL表不存在
本文关键字:MySQL 不存在 AWS 部署 | 更新日期: 2023-09-27 18:14:50
我将。net core应用程序部署到aws,但不知道如何进行初始迁移以创建表。在使用代码优先方法时,是否有一些等同于aws上的dotnet ef migrations add Initial
dotnet ef database update
来创建表?我的代码在线失败:
if (context.Record.Any())
{
return; // DB has been seeded
}
将MySQL连接器从MySQL . data . entityframeworkcore更改为SapientGuardian.EntityFrameworkCore.MySql解决了这个问题。然后使用默认命令执行所有迁移。
和开发一样。
在应用程序启动时必须调用dbContext.Database.EnsureCreated()
(Configure
方法)。
您需要创建服务范围,然后解析您的DbContext
。
public void Configure(IApplicationBuilder app)
{
using (var scope = app.ApplicationServices.GetService<IServiceScopeFactory>().CreateScope())
{
using (var dbContext = scope.ServiceProvider.GetRequiredService<AppDbContext>())
{
if (dbContext.Database.EnsureCreated())
{
// Seed your database if necessary
}
}
}
}
现在这是创建表的唯一方法,因为Oracle还没有实现迁移或脚手架。