-- 用户表
DROP TABLE IF EXISTS `app_user`;

CREATE TABLE `app_user` (
    `id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '用户ID',
    `username` VARCHAR(50) NOT NULL COMMENT '用户名',
    `password` VARCHAR(100) NOT NULL COMMENT '密码',
    `email` VARCHAR(100) DEFAULT NULL COMMENT '邮箱',
    `telephone` VARCHAR(20) DEFAULT NULL COMMENT '手机号',
    `avatar` VARCHAR(255) DEFAULT NULL COMMENT '头像URL',
    `register_ip` VARCHAR(50) DEFAULT NULL COMMENT '注册IP',
    `register_region` VARCHAR(100) DEFAULT NULL COMMENT '注册归属地',
    `login_ip` VARCHAR(50) DEFAULT NULL COMMENT '最后登录IP',
    `login_region` VARCHAR(100) DEFAULT NULL COMMENT '最后登录归属地',
    `status` TINYINT(1) DEFAULT 1 COMMENT '状态：0-禁用 1-启用',
    `create_time` DATETIME DEFAULT NULL COMMENT '创建时间',
    `update_time` DATETIME DEFAULT NULL COMMENT '更新时间',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_username` (`username`),
    UNIQUE KEY `uk_email` (`email`),
    UNIQUE KEY `uk_telephone` (`telephone`),
    KEY `idx_create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='应用用户表';

-- 如果表已存在，使用以下 ALTER TABLE 语句添加新字段（仅在需要时执行）
ALTER TABLE `app_user` ADD COLUMN `register_ip` VARCHAR(50) DEFAULT NULL COMMENT '注册IP' AFTER `avatar`;
ALTER TABLE `app_user` ADD COLUMN `register_region` VARCHAR(100) DEFAULT NULL COMMENT '注册归属地' AFTER `register_ip`;
ALTER TABLE `app_user` ADD COLUMN `login_region` VARCHAR(100) DEFAULT NULL COMMENT '最后登录归属地' AFTER `login_ip`;

-- 插入测试用户（密码为：123456，实际使用时应该加密）
INSERT INTO `app_user` (`username`, `password`, `email`, `telephone`, `avatar`, `status`)
VALUES
('admin', '123456', 'admin@corewing.com', '13800138000', NULL, 1),
('test', '123456', 'test@corewing.com', '13800138001', NULL, 1);
