如何在AbpNext项目中使用Mysql数据库
配置步骤:
1、更改.Web项目的appsettings.json的数据库连接字符串。如:server=0.0.0.0;database=VincentAbpTest;uid=root;pwd=123456;
2、给.EntityFramworkCore项目添加Volo.Abp.EntityFrameworkCore.MySQL引用,并删除Volo.Abp.EntityFrameworkCore.SqlServer引用;修复在{项目名称}EntityFrameworkCoreModule.cs文件中的编译错误
- 把using Volo.Abp.EntityFrameworkCore.SqlServer空间引用改为using Volo.Abp.EntityFrameworkCore.MySQL
- 把AbpEntityFrameworkCoreSqlServerModule改为AbpEntityFrameworkCoreMySQLModule
- 把 options.UseSqlServer();改为 options.UseMySQL();
3、找到.EntityFrameworkCore.DbMigrations项目中的{项目名}MigrationsDbContextFactory.cs文件,把其中的UseSqlServer改为UseMySql
4、在.EntityFrameworkCore.DbMigrations项目中{项目名}MigrationsDbContext.cs文件中的OnModelCreating方法加上如下代码:
builder.ConfigureIdentityServer(options => { options.DatabaseProvider = EfCoreDatabaseProvider.MySql; });
ref:https://github.com/abpframework/abp/issues/1920
5、删除.EntityFrameworkCore.DbMigrations项目中Migrations文件夹下的文件
6、在Package Manager Console中初始化数据库,如下图(此方法不能生成seed数据,导致系统出错)
6、运行.DbMigration项目初始化数据库