abp.io网站选择angular、EF、不要身份单独服务器起个名字下载下来项目。
1、第一步修改为mysql数据库,这一步是因为我目前项目用的mysql,要是sql的话就没这么麻烦事了,什么切数据库,字段长短限制各种恶心人。
EntityFrameworkCore 下安装包:Volo.Abp.EntityFrameworkCore.MySQL
删除Volo.Abp.EntityFrameworkCore.sqlserver
2、EntityFrameworkCoreModule
using Volo.Abp.EntityFrameworkCore.SqlServer 改为 using Volo.Abp.EntityFrameworkCore.MySQL;
typeof(AbpEntityFrameworkCoreSqlServerModule)改为 typeof(AbpEntityFrameworkCoreMySQLModule),
options.UseSqlServer(); 改为 options.UseMySQL();
3、编译后会发现MigrationsDbContextFactory报错
.UseSqlServer(configuration.GetConnectionString("Default"));改为 .UseMySql(configuration.GetConnectionString("Default"));
4、JunTuanAlliance.EntityFrameworkCore.DbMigrations文件下的Migrations文件夹整体删掉一会命令重新生成。
重新编译,全部成功。
5、修改数据库连接字符串
JunTuanAlliance.DbMigrator下appsettings.json
拷贝一份appsettings.json到JunTuanAlliance.EntityFrameworkCore.DbMigrations下,一会数据迁移的时候使用。
JunTuanAlliance.HttpApi.Host下也有一份,也需要修改连接字符。
6、JunTuanAlliance.EntityFrameworkCore.DbMigrations设置为启动项目。
打开程序包管理控制台
默认项目选择JunTuanAlliance.EntityFrameworkCore.DbMigrations
输入命令 Add-Migration -Context JunTuanAllianceMigrationsDbContext
输入生成的文件名字
回车
因为mysql有最大字符的限制,4000,2000这种的我改为245,之后不够用再说吧,懒得再找方法调高了。
不改的话会报错BLOB/TEXT column 'Value' used in key specification without a key length。
然后执行:Update-Database -Context JunTuanAllianceMigrationsDbContext,创建OK。
7、启动项目改为JunTuanAlliance.DbMigrator并运行,生成默认数据。
8、然后启动项目改为JunTuanAlliance.HttpApi.Host后运行。
后端的目前先到此结束。