Abp启动时自动迁移数据库
Posted シ゛甜虾
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Abp启动时自动迁移数据库相关的知识,希望对你有一定的参考价值。
如何在不使用 PowerShell的update-database 的情况下,启动Abp项目自动迁移/升级数据库。
1.找到 xxx.EntityFrameworkCore的项目 (xxx就是你的项目名)。
2.展开 EntityFrameworkCore/Seed 找到 SeedHelper.cs文件。
下面是原有代码
private static void WithDbContext<TDbContext>(IIocResolver iocResolver, Action<TDbContext> contextAction)
where TDbContext : DbContext
{
using (var uowManager = iocResolver.ResolveAsDisposable<IUnitOfWorkManager>())
{
using (var uow = uowManager.Object.Begin(TransactionScopeOption.Suppress))
{
var context = uowManager.Object.Current.GetDbContext<TDbContext>(MultiTenancySides.Host);
contextAction(context);
uow.Complete();
}
}
}
修改后的代码
#region 运行时自动迁移
var abpZeroDbMigrator = iocResolver.Resolve<AbpZeroDbMigrator>();
abpZeroDbMigrator.CreateOrMigrateForHost(context =>
{
contextAction(context as TDbContext);
});
#endregion
运行程序会自动执行迁移,不再需要手动迁移了。
以上是关于Abp启动时自动迁移数据库的主要内容,如果未能解决你的问题,请参考以下文章