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

Flutter Windows桌面环境下恢复生产环境的objectbox-model.json并提交至VCS

解决Flutter Windows项目ObjectBox模型文件丢失问题

一、在生产环境定位ObjectBox数据库文件

Flutter Windows应用的ObjectBox数据库默认存储在用户私有数据目录,路径通常为:

  • C:\Users\<用户名>\AppData\Roaming\<应用包名>\objectbox
    其中<应用包名>对应你Flutter项目pubspec.yaml里的name字段,或是打包时配置的应用标识符。
  • 若代码中自定义了数据库存储路径(比如通过Store(directory: 自定义路径)设置),则直接定位到该自定义路径即可。

在这个目录下,你会找到data.mdb和lock.mdb两个核心数据库文件,这是后续生成适配模型文件的关键。

二、从生产数据库生成适配的objectbox-model.json

借助ObjectBox CLI工具,可从现有数据库反向生成匹配的模型文件:

  1. 安装ObjectBox CLI:
    打开终端执行命令:
    dart pub global activate objectbox_cli
    
  2. 导出模型文件:
    先停止生产环境的应用(避免数据库文件被占用),复制出data.mdb文件,再在终端执行:
    objectbox model export --db-path="你的data.mdb文件路径" --output="objectbox-model.json"
    
    替换路径后执行,就能生成与生产数据库完全适配的objectbox-model.json文件。

三、将模型文件持久化到Git版本控制

  1. 将生成的objectbox-model.json放到Flutter项目根目录(与pubspec.yaml同级)。
  2. 检查项目的.gitignore文件,删除任何忽略objectbox-model.json的规则(如果之前有添加的话)。
  3. 执行Git命令提交文件:
    git add objectbox-model.json
    git commit -m "提交匹配生产数据库的ObjectBox模型文件"
    git push
    
  4. 后续开发规范:所有实体类的修改都会自动更新该模型文件,每次变更都要同步提交到Git,确保开发环境与生产环境的模型一致性。

四、后续开发注意事项

  • 后续修改实体类时,ObjectBox会自动更新objectbox-model.json,必须同步提交该文件到Git,避免团队成员或生产环境出现模型不兼容问题。
  • 升级ObjectBox版本前,先确认新版本与当前模型文件的兼容性,再执行升级操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 08:52:04