Files
rlz/数据库表检查结果.txt

56 lines
1.6 KiB
Plaintext
Raw Permalink Normal View History

2026-01-26 15:02:59 +08:00
========================================
数据库表检查结果
========================================
检查时间:$(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 等)必填但无默认值,
这是正常的,因为这些字段是自增主键,不需要默认值。
========================================