21 lines
1.3 KiB
SQL
21 lines
1.3 KiB
SQL
CREATE TABLE IF NOT EXISTS `user` (
|
||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||
`phone` VARCHAR(20) NOT NULL COMMENT '手机号',
|
||
`password` VARCHAR(255) NOT NULL COMMENT '密码(BCrypt 加密后)',
|
||
`nickname` VARCHAR(64) DEFAULT NULL COMMENT '昵称',
|
||
`avatar` VARCHAR(255) DEFAULT NULL COMMENT '头像地址',
|
||
`status` TINYINT NOT NULL DEFAULT 1 COMMENT '状态:1-正常,0-禁用',
|
||
`credits` INT NOT NULL DEFAULT 0 COMMENT '用户积分余额',
|
||
`balance` DECIMAL(10,2) DEFAULT 0.00 COMMENT '账户余额,单位:元',
|
||
`version` INT NOT NULL DEFAULT 0 COMMENT '乐观锁版本号',
|
||
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `uk_user_phone` (`phone`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户表';
|
||
|
||
-- 如果表已存在,添加 version 字段
|
||
ALTER TABLE `user` ADD COLUMN IF NOT EXISTS `version` INT NOT NULL DEFAULT 0 COMMENT '乐观锁版本号';
|
||
ALTER TABLE `user` ADD COLUMN IF NOT EXISTS `credits` INT NOT NULL DEFAULT 0 COMMENT '用户积分余额';
|
||
ALTER TABLE `user` ADD COLUMN IF NOT EXISTS `balance` DECIMAL(10,2) DEFAULT 0.00 COMMENT '账户余额,单位:元';
|