pipeline-sdlc/scripts/fix_wechat_ddl.sql

58 lines
3.2 KiB
SQL
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.

-- 修复脚本:重建被误删的 sd_deploy_envs + 新建微信通道两张表
-- 注意:原 mysql.ddl.sql 有 xls2ui 生成 bugDEFAULT ''N'' 双重引号),不能整文件执行
CREATE TABLE IF NOT EXISTS sd_deploy_envs (
`id` VARCHAR(32) NOT NULL comment '主键ID',
`project_id` VARCHAR(32) NOT NULL comment '项目ID',
`env_type` VARCHAR(20) NOT NULL comment '环境类型',
`host` VARCHAR(200) NOT NULL comment 'SSH主机地址',
`port` int NOT NULL DEFAULT 22 comment 'SSH端口',
`user` VARCHAR(100) NOT NULL comment 'SSH用户',
`ssh_key_path` VARCHAR(500) comment 'SSH密钥路径',
`sudo_enabled` VARCHAR(1) NOT NULL DEFAULT 'N' comment '免密Sudo',
`deploy_path` VARCHAR(500) NOT NULL comment '部署目录',
`python_path` VARCHAR(500) comment 'Python路径',
`db_host` VARCHAR(200) comment '数据库地址',
`db_port` int DEFAULT 3306 comment '数据库端口',
`db_name` VARCHAR(100) comment '数据库名',
`db_user` VARCHAR(100) comment '数据库用户',
`db_password` VARCHAR(500) comment '数据库密码(加密)',
`status` VARCHAR(20) NOT NULL DEFAULT 'configured' comment '环境状态',
`verified_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP comment '最近验证时间',
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL comment '创建时间',
`updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP comment '更新时间',
primary key(id)
) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci engine=innodb comment '部署环境表';
CREATE INDEX idx_sd_deploy_envs_project ON sd_deploy_envs(project_id);
CREATE INDEX idx_sd_deploy_envs_type ON sd_deploy_envs(env_type);
CREATE UNIQUE INDEX idx_sd_deploy_envs_unique ON sd_deploy_envs(project_id, env_type);
CREATE TABLE IF NOT EXISTS wechat_channel_config (
`id` VARCHAR(32) NOT NULL comment '主键ID',
`org_id` VARCHAR(32) NOT NULL comment '机构ID',
`name` VARCHAR(200) NOT NULL comment '公众号名称',
`appid` VARCHAR(100) NOT NULL comment '公众号AppID',
`appsecret` VARCHAR(500) NOT NULL comment '公众号AppSecret(加密)',
`token` VARCHAR(200) NOT NULL comment '消息校验Token',
`encoding_aes_key` VARCHAR(200) comment '消息加密Key(可选)',
`enabled` VARCHAR(1) NOT NULL DEFAULT '1' comment '是否启用(1/0)',
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL comment '创建时间',
`updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP comment '更新时间',
primary key(id)
) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci engine=innodb comment '微信通道配置(机构级公众号)';
CREATE UNIQUE INDEX wechat_channel_config_idx_wcc_org ON wechat_channel_config(org_id);
CREATE TABLE IF NOT EXISTS wechat_user_binding (
`id` VARCHAR(32) NOT NULL comment '主键ID',
`openid` VARCHAR(100) NOT NULL comment '微信OpenID',
`user_id` VARCHAR(32) NOT NULL comment '系统用户ID',
`org_id` VARCHAR(32) NOT NULL comment '机构ID',
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL comment '创建时间',
primary key(id)
) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci engine=innodb comment '微信用户绑定(openid→系统用户)';
CREATE UNIQUE INDEX wechat_user_binding_idx_wub_openid ON wechat_user_binding(openid);
CREATE INDEX wechat_user_binding_idx_wub_user ON wechat_user_binding(user_id);