-- 在停止旧版本绑定写入及支付回调后执行。先执行本文件,再核对并回填充值首奖。 -- MySQL 5.7 / 8.0,数据库结构升级仅执行一次。新旧分佣实例不能同时运行。 ALTER TABLE trade_brokerage_user ADD COLUMN bind_version BIGINT NOT NULL DEFAULT 0 COMMENT '分销关系版本'; ALTER TABLE trade_brokerage_record ADD COLUMN biz_scene VARCHAR(32) NULL COMMENT '资金来源 ORDER/RECHARGE/MEMBERSHIP'; CREATE TABLE IF NOT EXISTS trade_brokerage_relation_guard ( id BIGINT NOT NULL PRIMARY KEY ) ENGINE=InnoDB COMMENT='分销关系修改互斥锁'; INSERT INTO trade_brokerage_relation_guard (id) VALUES (1) ON DUPLICATE KEY UPDATE id=id; CREATE TABLE IF NOT EXISTS trade_brokerage_bind_log ( id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY, user_id BIGINT NOT NULL, old_bind_user_id BIGINT NULL, new_bind_user_id BIGINT NULL, old_bind_user_time DATETIME NULL, new_bind_user_time DATETIME NULL, old_version BIGINT NOT NULL, new_version BIGINT NOT NULL, operator_id BIGINT NULL, source VARCHAR(32) NOT NULL, reason VARCHAR(500) NOT NULL, request_id VARCHAR(64) NOT NULL, creator VARCHAR(64) DEFAULT '', create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, updater VARCHAR(64) DEFAULT '', update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, deleted BIT(1) NOT NULL DEFAULT b'0', tenant_id BIGINT NOT NULL DEFAULT 0, UNIQUE KEY uk_tenant_request (tenant_id, request_id), KEY idx_user_id (user_id, id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='分销上级变更记录'; CREATE TABLE IF NOT EXISTS trade_brokerage_recharge_reward ( id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY, source_user_id BIGINT NOT NULL, recharge_id VARCHAR(64) NOT NULL, evidence_record_id BIGINT NULL, creator VARCHAR(64) DEFAULT '', create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, updater VARCHAR(64) DEFAULT '', update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, deleted BIT(1) NOT NULL DEFAULT b'0', tenant_id BIGINT NOT NULL DEFAULT 0, UNIQUE KEY uk_tenant_source (tenant_id, source_user_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='永久充值首奖发放凭据,退款或删流水不恢复资格';