|
|
|
|
-- 确保 users 表包含立即入驻功能所需的所有字段
|
|
|
|
|
-- 此脚本用于修复或添加入驻流程可能需要的数据库字段
|
|
|
|
|
|
|
|
|
|
USE wechat_app;
|
|
|
|
|
|
|
|
|
|
-- 检查并添加缺失的字段(如果不存在)
|
|
|
|
|
|
|
|
|
|
-- 1. 入驻相关字段
|
|
|
|
|
-- 检查 collaborationid 字段(合作商身份)
|
|
|
|
|
IF NOT EXISTS (
|
|
|
|
|
SELECT * FROM information_schema.COLUMNS
|
|
|
|
|
WHERE TABLE_SCHEMA = 'wechat_app'
|
|
|
|
|
AND TABLE_NAME = 'users'
|
|
|
|
|
AND COLUMN_NAME = 'collaborationid'
|
|
|
|
|
) THEN
|
|
|
|
|
ALTER TABLE users ADD COLUMN collaborationid TEXT COMMENT '合作商身份' AFTER demand;
|
|
|
|
|
END IF;
|
|
|
|
|
|
|
|
|
|
-- 检查 cooperation 字段(合作模式)
|
|
|
|
|
IF NOT EXISTS (
|
|
|
|
|
SELECT * FROM information_schema.COLUMNS
|
|
|
|
|
WHERE TABLE_SCHEMA = 'wechat_app'
|
|
|
|
|
AND TABLE_NAME = 'users'
|
|
|
|
|
AND COLUMN_NAME = 'cooperation'
|
|
|
|
|
) THEN
|
|
|
|
|
ALTER TABLE users ADD COLUMN cooperation VARCHAR(255) COMMENT '合作模式' AFTER collaborationid;
|
|
|
|
|
END IF;
|
|
|
|
|
|
|
|
|
|
-- 检查 businesslicenseurl 字段(营业执照)
|
|
|
|
|
IF NOT EXISTS (
|
|
|
|
|
SELECT * FROM information_schema.COLUMNS
|
|
|
|
|
WHERE TABLE_SCHEMA = 'wechat_app'
|
|
|
|
|
AND TABLE_NAME = 'users'
|
|
|
|
|
AND COLUMN_NAME = 'businesslicenseurl'
|
|
|
|
|
) THEN
|
|
|
|
|
ALTER TABLE users ADD COLUMN businesslicenseurl TEXT COMMENT '营业执照URL' AFTER cooperation;
|
|
|
|
|
END IF;
|
|
|
|
|
|
|
|
|
|
-- 检查 proofurl 字段(证明材料)
|
|
|
|
|
IF NOT EXISTS (
|
|
|
|
|
SELECT * FROM information_schema.COLUMNS
|
|
|
|
|
WHERE TABLE_SCHEMA = 'wechat_app'
|
|
|
|
|
AND TABLE_NAME = 'users'
|
|
|
|
|
AND COLUMN_NAME = 'proofurl'
|
|
|
|
|
) THEN
|
|
|
|
|
ALTER TABLE users ADD COLUMN proofurl TEXT COMMENT '证明材料URL' AFTER businesslicenseurl;
|
|
|
|
|
END IF;
|
|
|
|
|
|
|
|
|
|
-- 检查 brandurl 字段(品牌授权链)
|
|
|
|
|
IF NOT EXISTS (
|
|
|
|
|
SELECT * FROM information_schema.COLUMNS
|
|
|
|
|
WHERE TABLE_SCHEMA = 'wechat_app'
|
|
|
|
|
AND TABLE_NAME = 'users'
|
|
|
|
|
AND COLUMN_NAME = 'brandurl'
|
|
|
|
|
) THEN
|
|
|
|
|
ALTER TABLE users ADD COLUMN brandurl TEXT COMMENT '品牌授权链文件URL' AFTER proofurl;
|
|
|
|
|
END IF;
|
|
|
|
|
|
|
|
|
|
-- 检查 partnerstatus 字段(合作商状态)
|
|
|
|
|
IF NOT EXISTS (
|
|
|
|
|
SELECT * FROM information_schema.COLUMNS
|
|
|
|
|
WHERE TABLE_SCHEMA = 'wechat_app'
|
|
|
|
|
AND TABLE_NAME = 'users'
|
|
|
|
|
AND COLUMN_NAME = 'partnerstatus'
|
|
|
|
|
) THEN
|
|
|
|
|
ALTER TABLE users ADD COLUMN partnerstatus VARCHAR(255) COMMENT '合作商状态' AFTER brandurl;
|
|
|
|
|
END IF;
|
|
|
|
|
|
|
|
|
|
-- 2. 详细地址相关字段
|
|
|
|
|
-- 检查 detailedaddress 字段
|
|
|
|
|
IF NOT EXISTS (
|
|
|
|
|
SELECT * FROM information_schema.COLUMNS
|
|
|
|
|
WHERE TABLE_SCHEMA = 'wechat_app'
|
|
|
|
|
AND TABLE_NAME = 'users'
|
|
|
|
|
AND COLUMN_NAME = 'detailedaddress'
|
|
|
|
|
) THEN
|
|
|
|
|
ALTER TABLE users ADD COLUMN detailedaddress VARCHAR(255) COMMENT '详细地址' AFTER district;
|
|
|
|
|
END IF;
|
|
|
|
|
|
|
|
|
|
-- 3. 其他可能需要的字段
|
|
|
|
|
-- 检查 reasonforfailure 字段(审核失败原因)
|
|
|
|
|
IF NOT EXISTS (
|
|
|
|
|
SELECT * FROM information_schema.COLUMNS
|
|
|
|
|
WHERE TABLE_SCHEMA = 'wechat_app'
|
|
|
|
|
AND TABLE_NAME = 'users'
|
|
|
|
|
AND COLUMN_NAME = 'reasonforfailure'
|
|
|
|
|
) THEN
|
|
|
|
|
ALTER TABLE users ADD COLUMN reasonforfailure TEXT COMMENT '审核失败原因' AFTER partnerstatus;
|
|
|
|
|
END IF;
|
|
|
|
|
|
|
|
|
|
-- 检查 idcardstatus 字段(身份证认证状态)
|
|
|
|
|
IF NOT EXISTS (
|
|
|
|
|
SELECT * FROM information_schema.COLUMNS
|
|
|
|
|
WHERE TABLE_SCHEMA = 'wechat_app'
|
|
|
|
|
AND TABLE_NAME = 'users'
|
|
|
|
|
AND COLUMN_NAME = 'idcardstatus'
|
|
|
|
|
) THEN
|
|
|
|
|
ALTER TABLE users ADD COLUMN idcardstatus INT NULL COMMENT '身份证认证状态(0:待审核,1:审核通过,2:审核失败)' AFTER reasonforfailure;
|
|
|
|
|
END IF;
|
|
|
|
|
|
|
|
|
|
-- 检查 audit_time 字段(审核时间)
|
|
|
|
|
IF NOT EXISTS (
|
|
|
|
|
SELECT * FROM information_schema.COLUMNS
|
|
|
|
|
WHERE TABLE_SCHEMA = 'wechat_app'
|
|
|
|
|
AND TABLE_NAME = 'users'
|
|
|
|
|
AND COLUMN_NAME = 'audit_time'
|
|
|
|
|
) THEN
|
|
|
|
|
ALTER TABLE users ADD COLUMN audit_time DATETIME COMMENT '审核时间' AFTER reasonforfailure;
|
|
|
|
|
END IF;
|
|
|
|
|
|
|
|
|
|
-- 4. 修改字段属性以允许空值(如果需要)
|
|
|
|
|
-- 修改 collaborationid 允许为空(入驻流程中可能未选择)
|
|
|
|
|
ALTER TABLE users MODIFY COLUMN collaborationid TEXT NULL COMMENT '合作商身份';
|
|
|
|
|
|
|
|
|
|
-- 修改 cooperation 允许为空
|
|
|
|
|
ALTER TABLE users MODIFY COLUMN cooperation VARCHAR(255) NULL COMMENT '合作模式';
|
|
|
|
|
|
|
|
|
|
-- 修改 province/city/district 允许为空(地址选择可能不完整)
|
|
|
|
|
ALTER TABLE users MODIFY COLUMN province VARCHAR(50) NULL COMMENT '省份';
|
|
|
|
|
ALTER TABLE users MODIFY COLUMN city VARCHAR(50) NULL COMMENT '城市';
|
|
|
|
|
ALTER TABLE users MODIFY COLUMN district VARCHAR(255) NULL COMMENT '区域';
|
|
|
|
|
|
|
|
|
|
-- 5. 添加索引以提高查询性能
|
|
|
|
|
-- 为 openid 添加唯一索引(如果尚未存在)
|
|
|
|
|
IF NOT EXISTS (
|
|
|
|
|
SELECT * FROM information_schema.STATISTICS
|
|
|
|
|
WHERE TABLE_SCHEMA = 'wechat_app'
|
|
|
|
|
AND TABLE_NAME = 'users'
|
|
|
|
|
AND INDEX_NAME = 'idx_openid'
|
|
|
|
|
) THEN
|
|
|
|
|
CREATE INDEX idx_openid ON users(openid);
|
|
|
|
|
END IF;
|
|
|
|
|
|
|
|
|
|
-- 为 partnerstatus 添加索引(用于查询审核状态)
|
|
|
|
|
IF NOT EXISTS (
|
|
|
|
|
SELECT * FROM information_schema.STATISTICS
|
|
|
|
|
WHERE TABLE_SCHEMA = 'wechat_app'
|
|
|
|
|
AND TABLE_NAME = 'users'
|
|
|
|
|
AND INDEX_NAME = 'idx_partnerstatus'
|
|
|
|
|
) THEN
|
|
|
|
|
CREATE INDEX idx_partnerstatus ON users(partnerstatus);
|
|
|
|
|
END IF;
|
|
|
|
|
|
|
|
|
|
-- 为 userId 添加索引(如果尚未存在唯一索引)
|
|
|
|
|
IF NOT EXISTS (
|
|
|
|
|
SELECT * FROM information_schema.STATISTICS
|
|
|
|
|
WHERE TABLE_SCHEMA = 'wechat_app'
|
|
|
|
|
AND TABLE_NAME = 'users'
|
|
|
|
|
AND INDEX_NAME = 'idx_userId'
|
|
|
|
|
) THEN
|
|
|
|
|
CREATE INDEX idx_userId ON users(userId);
|
|
|
|
|
END IF;
|
|
|
|
|
|
|
|
|
|
SELECT '数据库表结构修复完成!' AS status;
|