-- ===================================================================== -- s-file 上线数据库脚本(2026-09-15 版本) -- 适用场景:已有生产库升级(老版本 → 当前版本) -- -- 本次版本(用户启停/注销、机构账号查询、手机号查记录、机构上传配置) -- 相对老版本的数据库变更只有一项: -- 新增表 x_upload_config(机构上传配置) -- 其余功能(启停/注销/查询)全部复用已有表字段,无需任何变更。 -- -- 【执行说明】 -- * 生产主力库为达梦 DM8(MySQL 兼容模式)→ 只执行【第一部分】 -- * 若目标库是 PostgreSQL → 只执行【第二部分】 -- * 执行前建议备份;执行后核对【第三部分】的验证 SQL -- * 可重复执行(幂等):表已存在时再执行会报"已存在"错误,属正常, -- 说明该脚本已执行过,无需处理 -- ===================================================================== -- ===================================================================== -- 第一部分:达梦 DM8 / MySQL -- ===================================================================== CREATE TABLE x_upload_config ( id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID', org_id BIGINT DEFAULT NULL COMMENT '机构id', upload_enabled BIT(1) DEFAULT b'1' COMMENT '是否允许上传', allow_all_type BIT(1) DEFAULT b'1' COMMENT '是否允许全部类型(false时按allowed_suffixes白名单校验)', allowed_suffixes VARCHAR(1024) DEFAULT NULL COMMENT '允许的文件后缀(逗号分隔,小写),allow_all_type=false时生效', max_file_size BIGINT DEFAULT NULL COMMENT '单文件大小上限(MB),空或0不限制', deleted BIT(1) DEFAULT b'0' COMMENT '是否删除', create_by BIGINT DEFAULT NULL COMMENT '创建人', create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', update_by BIGINT DEFAULT NULL COMMENT '修改人', update_time DATETIME DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', proxy_by BIGINT DEFAULT NULL COMMENT '代理人', PRIMARY KEY (id) USING BTREE, UNIQUE KEY uk_org_id (org_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='机构上传配置'; -- 说明:不需要初始化数据。 -- 未配置的机构 = 默认策略(允许上传全部类型、不限大小), -- 由各机构管理员在管理后台"上传配置"页面自行配置后落库。 -- ===================================================================== -- 第二部分:PostgreSQL -- ===================================================================== -- CREATE TABLE x_upload_config ( -- id BIGSERIAL PRIMARY KEY, -- org_id BIGINT DEFAULT NULL, -- upload_enabled BOOLEAN DEFAULT TRUE, -- allow_all_type BOOLEAN DEFAULT TRUE, -- allowed_suffixes VARCHAR(1024) DEFAULT NULL, -- max_file_size BIGINT DEFAULT NULL, -- deleted BOOLEAN DEFAULT FALSE, -- create_by BIGINT DEFAULT NULL, -- create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- update_by BIGINT DEFAULT NULL, -- update_time TIMESTAMP DEFAULT NULL, -- proxy_by BIGINT DEFAULT NULL, -- CONSTRAINT uk_upload_config_org_id UNIQUE (org_id) -- ); -- COMMENT ON TABLE x_upload_config IS '机构上传配置'; -- COMMENT ON COLUMN x_upload_config.id IS '主键ID'; -- COMMENT ON COLUMN x_upload_config.org_id IS '机构id'; -- COMMENT ON COLUMN x_upload_config.upload_enabled IS '是否允许上传'; -- COMMENT ON COLUMN x_upload_config.allow_all_type IS '是否允许全部类型(false时按allowed_suffixes白名单校验)'; -- COMMENT ON COLUMN x_upload_config.allowed_suffixes IS '允许的文件后缀(逗号分隔,小写),allow_all_type=false时生效'; -- COMMENT ON COLUMN x_upload_config.max_file_size IS '单文件大小上限(MB),空或0不限制'; -- COMMENT ON COLUMN x_upload_config.deleted IS '是否删除'; -- COMMENT ON COLUMN x_upload_config.create_by IS '创建人'; -- COMMENT ON COLUMN x_upload_config.create_time IS '创建时间'; -- COMMENT ON COLUMN x_upload_config.update_by IS '修改人'; -- COMMENT ON COLUMN x_upload_config.update_time IS '修改时间'; -- COMMENT ON COLUMN x_upload_config.proxy_by IS '代理人'; -- ===================================================================== -- 第三部分:执行后验证(达梦/MySQL 语法) -- ===================================================================== -- 1) 表存在且为空(0 行正常) -- SELECT COUNT(*) FROM x_upload_config; -- 2) 唯一约束存在(应返回 uk_org_id) -- SELECT INDEX_NAME FROM USER_INDEXES WHERE TABLE_NAME = 'X_UPLOAD_CONFIG'; -- 3) (可选)回滚脚本 —— 如需回滚上线: -- DROP TABLE x_upload_config;