aspnetboilerplate - 在 ABP Angular 中创建新租户时已使用角色名称 Admin
问题描述
我使用了 2018 年 5 月 23 日下载的 Angular 2 + Asp.net Core 模板。
我做了什么:
- 将数据库从 SqlServer 更改为 MySql
- 更新了用于将初始化管理员名称更新为“HostAdmin”和“TenantAdmin”的种子
- 在管理员中创建租户
- 收到错误“角色名称 TenantAdmin 已被占用。”
我调查了创建租户的代码,在创建租户期间 CreateStaticRoles 发生了错误。
在这种方法中,它会创建新的角色,但这里有重复检查。我不确定为什么?以及从哪里获取 RoleManagementConfig.StaticRoles 的数据?除了 UT,我在 StaticRoles 的 ABP 源代码中找不到任何值分配参考。
解决方案
如果您在下载启动模板时选择“包括登录、注册、用户、角色和租户管理页面”,您的项目中会包含一些迁移文件。这些文件是为 SQL Server 生成的。删除 .EntityFramework 项目中 Migrations 文件夹下的所有迁移文件。迁移文件以时间戳开头。迁移文件名应如下所示
"201506210746108_AbpZero_Initial" 删除所有迁移文件后,选择你的.Web项目作为启动项目,打开Visual Studio的Package Manager Console,在Package Manager Console中选择.EntityFramework项目作为默认项目。然后运行以下命令为 MySql 添加迁移。
Add-Migration "AbpZero_Initial"
现在您可以使用以下命令创建数据库
Update-Database
您现在可以使用 MySql 运行您的项目。
推荐阅读
- docker - 在 Debian docker 镜像结果中运行 gdb
- python - 无法使用请求模块解析网页中的电话号码
- python - 如何解决 OSError: [Errno 24] 使用 aiohttp 使用三个不同的 URL 执行 POST 调用时打开的文件过多?
- javascript - A11y 响应式菜单
- selenium - 无法使用 OpenVPN(虚拟专用网络)运行 Selenium Grid 脚本
- python - 我可以直接将文件从 Box 下载到 IBM Cloud Object Storage 吗?
- c++ - 如何在变量类型后强制clang-format中断?
- xml - XSLT - 如何在新父节点中对一组递归节点进行分组
- python - 从运行在 Heroku 中的 python 应用程序访问 cockroachcloud db
- ssl - 为另一个服务使用让加密证书