feat: 业务组和应用支持多负责人,修复权限查询表名错误
- 业务组 MasterUid 改为 MasterUids(逗号分隔多用户ID) - 应用 OwnerId 改为 OwnerIds(逗号分隔多用户ID) - 前端负责人下拉框改为多选 - 权限查询改用 FIND_IN_SET 匹配多负责人 - 修复 user_permissions 表名错误(应为 user_permission) - 所有数据库实体添加 TableName() 方法显式指定表名 - xorm tag 显式指定 owner_ids/master_uids 列名 - 启动时自动清理 owner_ids 中的空格
This commit is contained in:
@@ -22,6 +22,7 @@ func Init() error {
|
||||
}
|
||||
Engine.SetMaxOpenConns(20)
|
||||
Engine.SetMaxIdleConns(5)
|
||||
Engine.ShowSQL(true)
|
||||
|
||||
// sync table structures
|
||||
if err := Engine.Sync2(
|
||||
@@ -38,10 +39,20 @@ func Init() error {
|
||||
return err
|
||||
}
|
||||
|
||||
// 迁移旧数据 & 清理格式
|
||||
migrateOldData()
|
||||
|
||||
// insert initial data if tables are empty
|
||||
return initSeedData()
|
||||
}
|
||||
|
||||
func migrateOldData() {
|
||||
// 清理 owner_ids 中可能存在的空格
|
||||
Engine.Exec("UPDATE application SET owner_ids = REPLACE(owner_ids, ' ', '') WHERE owner_ids LIKE '% %'")
|
||||
// 清理 master_uids 中可能存在的空格
|
||||
Engine.Exec("UPDATE business_group SET master_uids = REPLACE(master_uids, ' ', '') WHERE master_uids LIKE '% %'")
|
||||
}
|
||||
|
||||
func initSeedData() error {
|
||||
// check if profiles table is empty
|
||||
count, err := Engine.Count(new(model.Profile))
|
||||
|
||||
Reference in New Issue
Block a user