======================================== 数据库表检查结果 ======================================== 检查时间:$(date) 一、表存在性检查 ---------------- ✓ 所有核心表都已正常创建: - sys_user ✓ - sys_role ✓ - sys_menu ✓ - sys_dept ✓ - sys_post ✓ - sys_config ✓ - sys_dict_type ✓ - sys_dict_data ✓ - sys_notice ✓ - sys_oper_log ✓ - sys_logininfor ✓ 二、sys_user 表结构问题 ---------------------- ⚠️ 发现必填但无默认值的字段: 1. user_name (varchar(30)) - 用户账号 2. nick_name (varchar(30)) - 用户昵称 三、问题分析 ------------ 当前错误:Field 'nick_name' doesn't have a default value 原因: - sys_user 表中 nick_name 字段定义为 NOT NULL 且无默认值 - 微信登录代码在创建新用户时未设置 nick_name 字段 解决方案: 1. 【已修复】在代码中设置 nick_name 字段值 - 文件:SysLoginController.java - 修改:在创建用户时添加 user.setNickName(phoneNumber) 2. 【可选】修改数据库表结构,允许 nick_name 为 NULL - 执行:sql/fix_nick_name_default.sql 四、修复状态 ------------ ✓ 代码已修复:在创建用户时设置 nick_name ✓ openid 字段已添加 ⚠️ 建议:考虑修改数据库表结构,允许 nick_name 为 NULL 五、其他表的问题 ---------------- 其他表的问题主要是主键字段(如 user_id, role_id 等)必填但无默认值, 这是正常的,因为这些字段是自增主键,不需要默认值。 ========================================