一、ABP Vnext后端运行+切mysql数据库

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后运行。


结果图

后端的目前先到此结束。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容