Files
platforms/backend/api/cmd/cli/emergency_contact_migration.go
czl231 3ef33b531d 已完成用户APP首期功能开发
交付用户端首期页面、配套接口、后台资源及测试文档。用户APP构建、静态分析和三个管理后台构建通过;完整测试仍有2项失败,后端模型注释检查未通过,详见交付记录。
2026-09-13 00:57:32 +08:00

36 lines
2.3 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// 功能事务创建独立联系人资料表不迁移其他业务表版本1.0.0。
package main
// migrateEmergencyContacts 新增联系人表、字段注释和唯一约束,重复执行不清空数据。
func migrateEmergencyContacts() error {
return migrateClientColumns([]string{
`CREATE TABLE IF NOT EXISTS user_emergency_contact (
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(64) NOT NULL,
phone varchar(32) NOT NULL,
relationship varchar(32) NOT NULL DEFAULT '',
request_no varchar(36) NOT NULL,
UNIQUE(user_account_id, request_no)
)`,
`COMMENT ON TABLE user_emergency_contact IS '用户本人紧急联系人资料;不代表设备授权或告警订阅已生效'`,
`COMMENT ON COLUMN user_emergency_contact.id IS '数据库自增内部主键'`,
`COMMENT ON COLUMN user_emergency_contact.identity IS '对外业务UUID标识'`,
`COMMENT ON COLUMN user_emergency_contact.created_at IS '创建时间,也用于联系人默认排列顺序'`,
`COMMENT ON COLUMN user_emergency_contact.updated_at IS '最后修改时间'`,
`COMMENT ON COLUMN user_emergency_contact.deleted_at IS '软删除时间;当前删除操作使用状态归档保留幂等记录'`,
`COMMENT ON COLUMN user_emergency_contact.status IS '状态1=启用3=已归档'`,
`COMMENT ON COLUMN user_emergency_contact.user_account_id IS '资料所属用户内部主键,仅本人可读写'`,
`COMMENT ON COLUMN user_emergency_contact.name IS '联系人姓名最多64字'`,
`COMMENT ON COLUMN user_emergency_contact.phone IS '联系人大陆手机号,仅本人接口返回用于编辑及联系'`,
`COMMENT ON COLUMN user_emergency_contact.relationship IS '与用户关系描述最多32字空字符串表示未填写'`,
`COMMENT ON COLUMN user_emergency_contact.request_no IS '客户端新增请求UUID同一用户重试唯一且归档后不复活'`,
`CREATE UNIQUE INDEX IF NOT EXISTS idx_emergency_contact_active_phone ON user_emergency_contact(user_account_id,phone) WHERE status=1 AND deleted_at IS NULL`,
})
}