由于项目需求,现需要将mysql里面的部分表迁移到另一个数据库里面,abp框架是支持多个数据库。
官方教程链接
https://docs.abp.io/zh-Hans/abp/latest/Entity-Framework-Core-Migrations#%E6%9B%B4%E6%94%B9%E8%BF%9E%E6%8E%A5%E5%AD%97%E7%AC%A6%E4%B8%B2%E9%83%A8%E5%88%86
个人使用过程如下
1、修改appsettings.json 文件的连接字符串部分,添加多一项,如上图
2、在 xxxx.EntityFrameworkCore 模块添加多一个数据库连接的上下文
ShopCmsDbContext
、ShopCmsDbContextFactory
,里面的内容跟原来的差不多只不过是类名跟连接串不一样,这里就不贴代码了
3、在 xxxEntityFrameworkCoreModule
的ConfigureServices
里面注入新的数据库上下文依赖
4、进行数据迁移,按照官方的来,可用再新一个迁移模块,不过我这里不想麻烦就不建了。直接进入迁移命令。打开程序包管理控制台
-Add-Migration xx
发现抱错了,原因是项目里面有多个数据库上下文,需要我们指定一下
Add-Migration 15 -Context ShopCmsDbContext
-Context xx 指定需要迁移的数据库,同样的道理执行 Update-Database
也需要指定,如图
到此,ABP使用多个同类型数据库就完成了。祝大家好运!