2026-02-12 16:26
统一使用新表结构,移除旧的 sys_* 表逻辑,避免表结构冗余和混乱。
sys_users - 旧用户表(已迁移到 users)sys_sessions - 旧会话表(已迁移到 sessions)sys_roles - 角色表sys_permissions - 权限表sys_user_roles - 用户角色关联表sys_role_permissions - 角色权限关联表sys_login_logs - 登录日志表sys_operation_logs - 操作日志表sys_configs - 系统配置表sys_dict_types - 字典类型表sys_dict_items - 字典项表sys_files - 文件表sys_tasks - 任务表users - 用户表(统一使用)sessions - 会话表(统一使用)documents - 文档表templates - 模板表nodes - 图谱节点表edges - 图谱边表rules - 规则表embeddings - 向量嵌入表(支持 pgvector)已在 users 表中初始化管理员账号:
INSERT INTO users (
id: '1',
username: 'admin',
email: 'admin@lingyue.com',
password_hash: '$2a$10$0AUCG2mG7a6JXErOTI.Pg.Q/R04plOXvc.TDMeWzwwZQ23ZmrtJxC',
display_name: '管理员',
role: 'admin',
is_active: true
)
登录信息:
adminadmin123CREATE TABLE sys_* 定义(13 个表)INSERT INTO sys_* 数据创建了 database/migrations/001_cleanup_old_tables.sql 用于清理现有数据库。
执行清理后的验证结果:
-- 检查剩余的 sys_* 表
SELECT tablename FROM pg_tables
WHERE schemaname = 'public' AND tablename LIKE 'sys_%';
-- 结果: 0 行(所有 sys_* 表已删除)
-- 检查用户表数据
SELECT id, username, email, display_name, role, is_active FROM users;
-- 结果: 1 行(管理员账号已正确初始化)
users 表,无需修改documents 表,无影响templates, rules 等表,无影响nodes, edges 等表,无影响/auth/login 等接口)如果需要完整的权限管理功能,建议:
users 表中使用 role 字段(简单权限)如果需要操作日志功能,建议:
audit_logs 表如果需要动态配置功能,建议:
settings 表如果需要重新初始化数据库,执行:
# 删除并重建数据库
psql -U postgres -c "DROP DATABASE IF EXISTS lingyue_zhibao;"
psql -U postgres -c "CREATE DATABASE lingyue_zhibao;"
# 执行新的初始化脚本
psql -U postgres -d lingyue_zhibao -f 0211docs/init_mock.sql
# 1. 检查表结构
psql -U postgres -d lingyue_zhibao -c "\dt"
# 2. 验证管理员账号
psql -U postgres -d lingyue_zhibao -c "SELECT * FROM users WHERE username='admin';"
# 3. 测试登录
curl -X POST http://localhost:18520/auth/login \
-H "Content-Type: application/json" \
-d '{"usernameOrEmail":"admin","password":"admin123"}'
sys_* 表已删除数据库现在使用统一的新表结构,代码更清晰,维护更简单!