56 lines
1.6 KiB
Plaintext
56 lines
1.6 KiB
Plaintext
========================================
|
||
数据库表检查结果
|
||
========================================
|
||
|
||
检查时间:$(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 等)必填但无默认值,
|
||
这是正常的,因为这些字段是自增主键,不需要默认值。
|
||
|
||
========================================
|