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

2019-11-16  本文已影响0人  灰纸黑字

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

结果图

后端的目前先到此结束。

上一篇 下一篇

猜你喜欢

热点阅读