Files
YwxAppThink/docs/migrations/create_operate_tables.sql

162 lines
8.1 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.
-- ============================================================
-- 营运模块缺失表建表 SQL(远程库手动执行)
-- 前缀示例 wxapp_,执行前全部替换为线上真实前缀。
-- 安全:使用 CREATE TABLE IF NOT EXISTS,重复执行不报错。
-- 来源:public/install/install.sql 的规范定义。
-- 说明:sms 表 COLLATE 已统一为 utf8mb4 以兼容 MySQL 5.7+。
-- ============================================================
CREATE TABLE IF NOT EXISTS `wxapp_card` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`uid` int(11) NOT NULL DEFAULT 0 COMMENT '兑换会员ID0未兑换)',
`batch_no` varchar(30) NOT NULL DEFAULT '' COMMENT '批量生成批次号',
`cardno` varchar(100) NOT NULL DEFAULT '' COMMENT '卡号',
`password` varchar(100) NOT NULL DEFAULT '' COMMENT '密码',
`amount` decimal(10,2) NOT NULL DEFAULT 0.00 COMMENT '面值',
`status` tinyint(1) NOT NULL DEFAULT 0 COMMENT '状态 0未售1已售2已用',
`use_time` int(11) NOT NULL DEFAULT 0 COMMENT '使用时间',
`sort` int(11) NOT NULL DEFAULT 0 COMMENT '排序',
`create_at` int(11) NOT NULL DEFAULT 0 COMMENT '创建时间',
`update_at` int(11) NOT NULL DEFAULT 0 COMMENT '更新时间',
`delete_at` int(11) NOT NULL DEFAULT 0 COMMENT '删除时间',
PRIMARY KEY (`id`),
KEY `idx_cardno` (`cardno`),
KEY `idx_batch_no` (`batch_no`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='充值卡密';
CREATE TABLE IF NOT EXISTS `wxapp_prop` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`title` varchar(200) NOT NULL DEFAULT '' COMMENT '道具名称',
`icon` varchar(255) NOT NULL DEFAULT '' COMMENT '图标',
`price` decimal(10,2) NOT NULL DEFAULT 0.00 COMMENT '价格',
`description` text COMMENT '描述',
`sort` int(11) NOT NULL DEFAULT 0 COMMENT '排序',
`status` tinyint(1) NOT NULL DEFAULT 1 COMMENT '状态',
`create_at` int(11) NOT NULL DEFAULT 0 COMMENT '创建时间',
`update_at` int(11) NOT NULL DEFAULT 0 COMMENT '更新时间',
`delete_at` int(11) NOT NULL DEFAULT 0 COMMENT '删除时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='道具中心';
CREATE TABLE IF NOT EXISTS `wxapp_shop` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`title` varchar(200) NOT NULL DEFAULT '' COMMENT '商品名称',
`price` decimal(10,2) NOT NULL DEFAULT 0.00 COMMENT '价格',
`stock` int(11) NOT NULL DEFAULT 0 COMMENT '库存',
`description` text COMMENT '描述',
`sort` int(11) NOT NULL DEFAULT 0 COMMENT '排序',
`status` tinyint(1) NOT NULL DEFAULT 1 COMMENT '状态',
`create_at` int(11) NOT NULL DEFAULT 0 COMMENT '创建时间',
`update_at` int(11) NOT NULL DEFAULT 0 COMMENT '更新时间',
`delete_at` int(11) NOT NULL DEFAULT 0 COMMENT '删除时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='电子商务';
CREATE TABLE IF NOT EXISTS `wxapp_sms` (
`id` int NOT NULL AUTO_INCREMENT,
`mobile` varchar(20) NOT NULL COMMENT '手机号',
`code` varchar(10) NOT NULL COMMENT '验证码',
`event` varchar(20) DEFAULT 'login' COMMENT '类型 login:登录 register:注册',
`times` int DEFAULT '0' COMMENT '验证次数',
`ip` varchar(50) DEFAULT NULL COMMENT '发送IP',
`create_at` int DEFAULT '0',
PRIMARY KEY (`id`),
KEY `idx_mobile` (`mobile`),
KEY `idx_times` (`times`),
KEY `idx_create_at` (`create_at`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='短信日志表';
CREATE TABLE IF NOT EXISTS `wxapp_task` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`title` varchar(200) NOT NULL DEFAULT '' COMMENT '任务标题',
`description` text COMMENT '任务描述',
`reward_type` tinyint(1) NOT NULL DEFAULT 1 COMMENT '奖励类型',
`reward_num` int(11) NOT NULL DEFAULT 0 COMMENT '奖励数量/道具ID',
`prop_num` int(11) NOT NULL DEFAULT 1 COMMENT '道具数量(奖励类型为道具时生效)',
`sort` int(11) NOT NULL DEFAULT 0 COMMENT '排序',
`status` tinyint(1) NOT NULL DEFAULT 1 COMMENT '状态',
`create_at` int(11) NOT NULL DEFAULT 0 COMMENT '创建时间',
`update_at` int(11) NOT NULL DEFAULT 0 COMMENT '更新时间',
`delete_at` int(11) NOT NULL DEFAULT 0 COMMENT '删除时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='站点任务';
CREATE TABLE IF NOT EXISTS `wxapp_member_prop` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`uid` int unsigned NOT NULL DEFAULT '0' COMMENT '用户ID',
`prop_id` int unsigned NOT NULL DEFAULT '0' COMMENT '道具ID',
`num` int unsigned NOT NULL DEFAULT '1' COMMENT '数量',
`create_at` int(11) NOT NULL DEFAULT '0' COMMENT '获得时间',
PRIMARY KEY (`id`),
KEY `idx_uid` (`uid`),
KEY `idx_uid_prop` (`uid`,`prop_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户拥有道具';
CREATE TABLE IF NOT EXISTS `wxapp_member_task` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`uid` int unsigned NOT NULL DEFAULT '0' COMMENT '用户ID',
`task_id` int unsigned NOT NULL DEFAULT '0' COMMENT '任务ID',
`reward_type` tinyint(1) NOT NULL DEFAULT '1' COMMENT '实际发放奖励类型',
`reward_num` int(11) NOT NULL DEFAULT '0' COMMENT '实际发放数量',
`create_at` int(11) NOT NULL DEFAULT '0' COMMENT '领取时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_uid_task` (`uid`,`task_id`),
KEY `idx_uid` (`uid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户任务领取记录';
-- 以下两张已在原自愈覆盖(medal / score_log / score_rule),
-- 一并补上保证完整,IF NOT EXISTS 不会冲突。
CREATE TABLE IF NOT EXISTS `wxapp_medal` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`title` varchar(200) NOT NULL DEFAULT '' COMMENT '勋章名称',
`image` varchar(255) NOT NULL DEFAULT '' COMMENT '图片',
`description` text COMMENT '描述',
`sort` int(11) NOT NULL DEFAULT 0 COMMENT '排序',
`status` tinyint(1) NOT NULL DEFAULT 1 COMMENT '状态',
`create_at` int(11) NOT NULL DEFAULT 0 COMMENT '创建时间',
`update_at` int(11) NOT NULL DEFAULT 0 COMMENT '更新时间',
`delete_at` int(11) NOT NULL DEFAULT 0 COMMENT '删除时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='勋章中心';
CREATE TABLE IF NOT EXISTS `wxapp_member_medal` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`uid` int unsigned NOT NULL DEFAULT '0' COMMENT '用户ID',
`medal_id` int unsigned NOT NULL DEFAULT '0' COMMENT '勋章ID',
`create_at` int(11) NOT NULL DEFAULT 0 COMMENT '获得时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_uid_medal` (`uid`,`medal_id`),
KEY `idx_uid` (`uid`),
KEY `idx_medal` (`medal_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户拥有勋章';
CREATE TABLE IF NOT EXISTS `wxapp_score_log` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`uid` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '用户ID',
`rule_id` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '关联规则ID',
`type` tinyint(4) NOT NULL DEFAULT 1 COMMENT '1收入2支出',
`value` int(11) NOT NULL DEFAULT 0 COMMENT '变动值',
`balance` int(11) NOT NULL DEFAULT 0 COMMENT '变动后余额',
`remark` varchar(255) NOT NULL DEFAULT '' COMMENT '备注',
`create_at` int(11) NOT NULL DEFAULT 0 COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `idx_uid` (`uid`),
KEY `idx_uid_create` (`uid`,`create_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='积分流水';
CREATE TABLE IF NOT EXISTS `wxapp_score_rule` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(100) NOT NULL DEFAULT '' COMMENT '规则名称',
`action` varchar(50) NOT NULL DEFAULT '' COMMENT '触发动作标识(task_complete/signin/register等)',
`type` tinyint(4) NOT NULL DEFAULT 1 COMMENT '1获取2消费',
`value` int(11) NOT NULL DEFAULT 0 COMMENT '变动值',
`status` tinyint(4) NOT NULL DEFAULT 1 COMMENT '状态 0禁用1启用',
`sort` int(11) NOT NULL DEFAULT 0 COMMENT '排序',
`create_at` int(11) NOT NULL DEFAULT 0 COMMENT '创建时间',
`update_at` int(11) NOT NULL DEFAULT 0 COMMENT '更新时间',
`delete_at` int(11) NOT NULL DEFAULT 0 COMMENT '删除时间',
PRIMARY KEY (`id`),
KEY `idx_action` (`action`),
KEY `idx_status_sort` (`status`,`sort`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='积分规则';