ABP-VNext 用户权限管理系统实战01---AuthServer服务迁移数据库到mysql
一、从github上获取源码后修改命名空间
下载dome后修改解决方案名为Bridge。
二、默认是连接sqlserver的,需要修改为可以连接mysql
修改appsettings.json文件的ConnectionStrings参数,准备一个可以连接的mysql,新建数据库bridge
{ "ConnectionStrings": { "Default": "Server=xxx.xxx.xx.xx;Port=3306; Database=bridge; User=root; Password=xxxx;" } }
三、修改类AuthServerDbContextFactory,使用mysql数据库
using System.IO; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Design; using Microsoft.Extensions.Configuration; using Pomelo.EntityFrameworkCore.MySql.Infrastructure; namespace Bridge.AuthServer.Host.EntityFrameworkCore { public class AuthServerDbContextFactory : IDesignTimeDbContextFactory<AuthServerDbContext> { public AuthServerDbContext CreateDbContext(string[] args) { var configuration = BuildConfiguration(); var builder = new DbContextOptionsBuilder<AuthServerDbContext>(); builder.UseMySql(configuration.GetConnectionString("Default"), ServerVersion.AutoDetect(configuration.GetConnectionString("Default"))); return new AuthServerDbContext(builder.Options); } private static IConfigurationRoot BuildConfiguration() { var builder = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json", optional: false); return builder.Build(); } } }
修改AuthServerHostModule.cs文件
因为我系统中没有用到es,所以将项目中的es也注掉:Program.cs
四、执行数据库迁移命令
1、删除原来的Migrations文件,工具---》NuGet包管理器---》程序包管理器控制台
选中默认项目:Bridge.AuthServer.Host,并执行:Add-Migration bridge_init
再执行:Update-Database 20231017011137_bridge_init
可以看到数据表已迁移
五、启动Bridge.AuthServer.Host服务
报错: Could not find the bundle file '/libs/abp/core/abp.css' for the bundle 'Basic.Global'!
解决方案:找到授权的目录执行命令
E:\3--GitHub\bridge\applications\AuthServer.Host>npm config set proxy false
E:\3--GitHub\bridge\applications\AuthServer.Host>npm cache clean --force
E:\3--GitHub\bridge\applications\AuthServer.Host>npm config set registry http://registry.npmjs.org/
E:\3--GitHub\bridge\applications\AuthServer.Host>npm config set registry https://registry.npmjs.org/
E:\3--GitHub\bridge\applications\AuthServer.Host>abp install-libs
成功后再次启动Bridge.AuthServer.Host服务,成功的页面如下:
到此我们最重要的授权服务就好了。
查看api: localhost:8087/.well-known/openid-configuration