已完成用户APP首期功能开发
交付用户端首期页面、配套接口、后台资源及测试文档。用户APP构建、静态分析和三个管理后台构建通过;完整测试仍有2项失败,后端模型注释检查未通过,详见交付记录。
This commit is contained in:
37
backend/api/cmd/cli/device_group_migration.go
Normal file
37
backend/api/cmd/cli/device_group_migration.go
Normal file
@@ -0,0 +1,37 @@
|
||||
// 功能:独立创建用户设备分组表及产品归组字段,不迁移其他业务表;版本:1.0.0。
|
||||
package main
|
||||
|
||||
// migrateDeviceGroups 创建分组资料并补充产品归组字段,重复执行不清空现有数据。
|
||||
func migrateDeviceGroups() error {
|
||||
return migrateClientColumns([]string{
|
||||
`CREATE TABLE IF NOT EXISTS user_device_group (
|
||||
id bigserial PRIMARY KEY,
|
||||
identity varchar(36) NOT NULL UNIQUE,
|
||||
created_at timestamptz NOT NULL,
|
||||
updated_at timestamptz NOT NULL,
|
||||
deleted_at timestamptz,
|
||||
status integer NOT NULL DEFAULT 1 CHECK (status IN (1,3)),
|
||||
user_account_id bigint NOT NULL REFERENCES user_account(id),
|
||||
name varchar(32) NOT NULL,
|
||||
request_no varchar(36) NOT NULL,
|
||||
sort_no integer NOT NULL DEFAULT 0,
|
||||
UNIQUE(user_account_id, request_no)
|
||||
)`,
|
||||
`COMMENT ON TABLE user_device_group IS '用户本人设备展示分组;不授予设备控制、共享或物联网权限'`,
|
||||
`COMMENT ON COLUMN user_device_group.id IS '数据库自增内部主键'`,
|
||||
`COMMENT ON COLUMN user_device_group.identity IS '对外业务UUID标识'`,
|
||||
`COMMENT ON COLUMN user_device_group.created_at IS '分组创建时间'`,
|
||||
`COMMENT ON COLUMN user_device_group.updated_at IS '分组最后修改时间'`,
|
||||
`COMMENT ON COLUMN user_device_group.deleted_at IS '软删除时间;当前删除操作使用状态归档'`,
|
||||
`COMMENT ON COLUMN user_device_group.status IS '状态:1=启用,3=已归档'`,
|
||||
`COMMENT ON COLUMN user_device_group.user_account_id IS '分组所属用户内部主键,仅本人可读写'`,
|
||||
`COMMENT ON COLUMN user_device_group.name IS '用户自定义分组名称,最多32字'`,
|
||||
`COMMENT ON COLUMN user_device_group.request_no IS '客户端新增请求UUID,同一用户内唯一且归档后不复用'`,
|
||||
`COMMENT ON COLUMN user_device_group.sort_no IS '同一用户内显示顺序,数值越小越靠前'`,
|
||||
`CREATE UNIQUE INDEX IF NOT EXISTS idx_device_group_active_name ON user_device_group(user_account_id,name) WHERE status=1 AND deleted_at IS NULL`,
|
||||
`CREATE INDEX IF NOT EXISTS idx_device_group_user_sort ON user_device_group(user_account_id,status,sort_no,id)`,
|
||||
`ALTER TABLE product_info ADD COLUMN IF NOT EXISTS device_group_id bigint NOT NULL DEFAULT 0`,
|
||||
`COMMENT ON COLUMN product_info.device_group_id IS '当前用户设备分组内部主键;0表示未分组,产品归属变化时必须清空'`,
|
||||
`CREATE INDEX IF NOT EXISTS idx_product_device_group ON product_info(user_account_id,device_group_id) WHERE device_group_id <> 0`,
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user