Files
junhong_cmp_fiber/migrations/000185_add_wecom_member_binding.up.sql
break 73f5125d3d
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m26s
七月迭代短暂完结,还有很多后端的关键东西没有弄,这是一版赶时间做的东西
2026-07-25 17:06:58 +08:00

37 lines
1.8 KiB
SQL
Raw 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.
-- 增加系统账号企微身份绑定,并保存应用可见成员选择快照。
ALTER TABLE tb_account
ADD COLUMN IF NOT EXISTS wecom_corp_id varchar(64) NOT NULL DEFAULT '',
ADD COLUMN IF NOT EXISTS wecom_userid varchar(64) NOT NULL DEFAULT '',
ADD COLUMN IF NOT EXISTS wecom_name varchar(100) NOT NULL DEFAULT '';
CREATE UNIQUE INDEX IF NOT EXISTS uq_account_wecom_identity
ON tb_account (wecom_corp_id, wecom_userid)
WHERE deleted_at IS NULL AND wecom_corp_id <> '' AND wecom_userid <> '';
CREATE TABLE IF NOT EXISTS tb_wecom_member (
id bigserial PRIMARY KEY,
application_id bigint NOT NULL,
corp_id varchar(64) NOT NULL,
userid varchar(64) NOT NULL,
name varchar(100) NOT NULL,
department_ids jsonb NOT NULL DEFAULT '[]'::jsonb,
visible boolean NOT NULL DEFAULT true,
synced_at timestamptz NOT NULL,
created_at timestamptz NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at timestamptz NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT chk_wecom_member_application_id CHECK (application_id > 0),
CONSTRAINT chk_wecom_member_userid CHECK (length(btrim(userid)) > 0)
);
CREATE UNIQUE INDEX IF NOT EXISTS uq_wecom_member_identity
ON tb_wecom_member (application_id, userid);
CREATE INDEX IF NOT EXISTS idx_wecom_member_visible_name
ON tb_wecom_member (application_id, visible, name, userid);
COMMENT ON TABLE tb_wecom_member IS '企业微信应用可见成员的本地选择快照,不作为组织模型';
COMMENT ON COLUMN tb_wecom_member.department_ids IS '企微部门 ID 列表,仅用于管理员辨认成员';
COMMENT ON COLUMN tb_account.wecom_corp_id IS '绑定的企业微信企业 ID';
COMMENT ON COLUMN tb_account.wecom_userid IS '绑定的企业微信成员 userid入库前统一转为小写';
COMMENT ON COLUMN tb_account.wecom_name IS '绑定时的企业微信成员姓名快照';