You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何确保Telosys生成模型时@FK属性可正常创建?

解决Telosys V4.1.0-001外键生成失败问题

问题核心

Telosys的模型转换器要求外键关联的目标字段必须是对应实体的主键/ID属性。你的tAccount表未定义主键,导致转换器无法识别titemid为合法的关联目标,进而触发tContact表tOwnerid字段的FK校验错误。

可行解决方案

方案1:规范数据库表结构(推荐)

直接在数据库中为tAccount表设置主键:

  • 将titemid设为tAccount的主键(如果它确实是唯一标识该表记录的字段)
  • 若titemid不适合做主键,选择或新增合适的字段作为主键

完成后重新生成模型,Telosys会自动识别主键字段,FK校验将通过。

方案2:手动修改生成的模型文件

若无法修改数据库,可通过手动编辑实体文件绕过校验:

  1. 先触发模型生成(即使报错,基础实体文件通常已生成)
  2. 找到tAccount.entity文件,给titemid字段添加@ID注解:
@ID
titemid : int
  1. 找到tContact.entity文件,给tOwnerid字段添加正确的@FK注解:
@FK(targetEntity = tAccount, targetAttribute = titemid)
tOwnerid : int
  1. 重新执行代码生成,模型将正常加载。

方案3:在databases.yaml中强制指定主键

通过配置文件告诉Telosys将titemid视为tAccount的主键:
在databases.yaml中添加表级自定义配置:

tables:
  - name: tAccount
    primaryKey: titemid

保存配置后重新生成模型,转换器会依据配置识别titemid为主键,通过FK校验。

内容的提问来源于stack exchange,提问作者DJ Anti

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 21:50:03