online-php-practice/db.sql

91 lines
4.5 KiB
MySQL
Raw Normal View History

2019-06-30 21:18:31 +08:00
-- 开饭平台用户信息:
-- openid 普通用户的标识,对当前开发者帐号唯一
-- nickname 普通用户昵称
-- sex 普通用户性别1为男性2为女性
-- province 普通用户个人资料填写的省份
-- city 普通用户个人资料填写的城市
-- country 国家如中国为CN
-- headimgurl 用户头像最后一个数值代表正方形头像大小有0、46、64、96、132数值可选0代表640*640正方形头像用户没有头像时该项为空
-- privilege 用户特权信息json数组如微信沃卡用户为chinaunicom
-- unionid 用户统一标识。针对一个微信开放平台帐号下的应用同一用户的unionid是唯一的。
-- 开放平台用户
CREATE TABLE `userinfo`(
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
`openid` VARCHAR(64) NULL DEFAULT '' COMMENT '微信openid',
`nickname` VARCHAR(128) NULL COMMENT '用户昵称',
`realname` VARCHAR(20) NULL COMMENT '真实姓名',
`sex` TINYINT(1) NULL COMMENT '用户性别1男性2女性',
`language` VARCHAR(16) NULL COMMENT '语言',
`province` VARCHAR(16) NULL COMMENT '用户个人资料填写的省份',
`city` VARCHAR(16) NULL COMMENT '普通用户个人资料填写的城市',
`country` VARCHAR(32) NULL COMMENT '国家如中国为CN',
`headimgurl` VARCHAR(256) NULL COMMENT '用户头像',
`privilege` TEXT NULL COMMENT '用户特权信息json 数组',
`unionid` VARCHAR(128) NULL COMMENT '微信开放平台用户唯一标识',
`admin` TINYINT(1) NULL DEFAULT 0 COMMENT '是否是管理员1是0不是',
`credit` VARCHAR(128) NULL COMMENT '积分',
`created_time` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_time` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY(`id`)
);
-- 题目
CREATE TABLE `problemset`(
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
`no` BIGINT UNSIGNED NOT NULL,
`type` VARCHAR(12) NULL COMMENT '分类',
`name` VARCHAR(128) NULL COMMENT '题名',
`isAnswer` VARCHAR(12) NULL COMMENT '是否有解答1有其余无',
`language` VARCHAR(16) NULL COMMENT '编程语言',
`passPercent` VARCHAR(16) NULL COMMENT '通过率',
`difficulty` VARCHAR(16) NULL COMMENT '难度',
`tag` VARCHAR(255) NULL COMMENT '标签',
`mark` VARCHAR(256) NULL COMMENT '备注',
`describe` LONGTEXT NULL COMMENT '题目描述',
`answer` LONGTEXT NULL COMMENT '解答',
`phpCode` LONGTEXT NULL COMMENT 'PHP代码',
`javascriptCode` LONGTEXT NULL COMMENT 'Javascript代码',
`phpUnitCode` LONGTEXT NULL COMMENT 'PHP测试代码',
`testCase` LONGTEXT NULL COMMENT '测试用例',
`expectedResult` LONGTEXT NULL COMMENT '预期结果',
`credit` DECIMAL(8, 2) NULL COMMENT '积分',
`isCredit` VARCHAR(5) NULL DEFAULT '0' COMMENT '是否积分1是0不是',
`created_time` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_time` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY(`id`)
);
-- 做题记录
CREATE TABLE `record`(
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
`user_id` BIGINT UNSIGNED NOT NULL,
`problemset_id` BIGINT UNSIGNED NOT NULL,
`type` VARCHAR(12) NULL COMMENT '分类',
`code` LONGTEXT NULL COMMENT '代码',
`is_pass` VARCHAR(5) NULL DEFAULT '0' COMMENT '是否通过测试1是0不是',
`created_time` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_time` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY(`id`)
);
-- -- 在线测试的记录
-- CREATE TABLE `test_record`(
-- `user_id` BIGINT UNSIGNED NOT NULL,
-- `code` LONGTEXT NULL COMMENT '代码',
-- `created_time` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
-- `updated_time` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
-- PRIMARY KEY(`user_id`)
-- );
-- 积分变动(流水)
CREATE TABLE `credit_flow`(
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
`user_id` BIGINT UNSIGNED NOT NULL,
`problemset_id` BIGINT UNSIGNED NOT NULL,
`log` VARCHAR(256) NULL COMMENT '事由',
`income` DECIMAL(8) NOT NULL COMMENT '动账',
`credit` DECIMAL(8) NOT NULL COMMENT '当时总积分',
`create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY(`id`)
);