DirectUS 9.22.4登录报错:Cannot read properties of undefined (reading 'primary')
解决DirectUS 9.22.4 PostgreSQL环境下登录时的"Cannot read properties of undefined (reading 'primary')"错误
这个报错是因为DirectUS尝试写入登录活动记录时,无法读取directus_activity集合的主键配置,通常由系统表未正确初始化或数据库权限不足导致,可按以下步骤排查修复:
1. 检查系统表完整性
确认PostgreSQL数据库中存在directus_activity表,且该表包含id主键字段。若表缺失或结构异常,需重新初始化系统表。
2. 重新执行数据库迁移
运行DirectUS迁移命令,确保所有系统表及结构正确创建:
npx directus database migrate:latest
3. 补充数据库权限
你之前的授权仅覆盖了public下的表和序列,但DirectUS需要读取系统元数据来获取表结构,补充以下授权:
GRANT USAGE ON SCHEMA public TO directus_account; GRANT SELECT ON ALL TABLES IN SCHEMA information_schema TO directus_account;
4. 重启服务并清除缓存
若启用了DirectUS缓存,先清除缓存,再重启服务,确保新的表结构和权限生效。
内容的提问来源于stack exchange,提问作者One Developer
相关产品推荐
相关产品推荐

