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

ObjectBox Sync Docker部署报错:Album实体artistId缺少virtualTarget

报错原因

你使用的ObjectBox Sync服务器版本(21.5.14)过旧,和客户端2.9.2-RC4版本生成的模型字段不兼容:旧版服务器要求关系字段标注virtualTarget,而新版客户端生成的模型使用relationTarget字段标识关联目标,导致服务器无法识别。

解决方法

方案1(推荐:永久生效)

升级ObjectBox Sync服务器到和客户端版本匹配的版本,将Docker运行命令中的镜像版本替换为2.10.0及以上版本即可:

docker run --rm -it -v %cd%:/data --publish 127.0.0.1:9999:9999 --publish 127.0.0.1:9980:9980 --user=0  objectboxio/sync:2.10.0-server --model /data/objectbox-model.json --unsecured-no-authentication --browser-bind 0.0.0.0:9980

方案2(临时生效:无需更换服务器版本)

手动修改objectbox-model.json文件,将所有relationTarget字段名替换为virtualTarget,以你现有配置为例,需要修改的位置共5处:

  • Album实体下的artistId字段:将"relationTarget": "Artist"改为"virtualTarget": "Artist"
  • Invoice实体下的customerId字段:将"relationTarget": "Customer"改为"virtualTarget": "Customer"
  • InvoiceItem实体下的invoiceId字段:将"relationTarget": "Invoice"改为"virtualTarget": "Invoice"
  • InvoiceItem实体下的trackId字段:将"relationTarget": "Track"改为"virtualTarget": "Track"
  • Track实体下的albumId字段:将"relationTarget": "Album"改为"virtualTarget": "Album"

修改完成后重新执行Docker启动命令即可,注意如果后续重新构建项目触发了模型文件自动生成,需要再次手动修改该字段。

额外检查项

如果修改完成后仍然报错,删除当前目录下自动生成的objectbox数据库文件夹,再重新启动服务器即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 05:45:00