首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Objectbox-go:删除模型类

Objectbox-go:删除模型类
EN

Stack Overflow用户
提问于 2020-09-01 19:37:34
回答 1查看 65关注 0票数 0

不幸的是,ObjectBox Go的文档没有提供关于删除由ObjectBox“供电”的整个类型结构的信息。

假设我们有一个结构

代码语言:javascript
复制
//go:generate go run github.com/objectbox/objectbox-go/cmd/objectbox-gogen

type Test struct {
    Id            uint64
    Name          string
}

一段时间后,我决定从项目中删除整个测试(已删除的test.go和test.obx.go)。不幸的是,go生成仍然“记得”这个幻影类,并不断将其添加到objectbox.go

代码语言:javascript
复制
model.RegisterBinding(TestBinding)

如何安全地删除此结构(及其数据)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-08 08:21:21

目前,ObjectBox代码生成器不删除实体,因为它处理部分输入信息(一次只有一个文件),因此它不知道您是否删除了一个实体,或者它将在调用生成器的下一个文件中。

我在GH:https://github.com/objectbox/objectbox-generator/issues/22上创建了一个后续问题/特性请求

如果您现在确实需要删除实体,直到将删除特性添加到生成器:当前的解决办法是手动更新objectbox-model.json,删除定义它的实体JSON代码块,并将其uid添加到retiredEntityUids列表中,以避免重用相同的UID (这会破坏一切)。此外,对于已删除的属性、索引和关系(每个属性都有其retired*Uids列表),也必须这样做。在生成器重新运行后,实体将从objectbox-model.go中移除.

我不建议这样做,因为手工编辑模型JSON文件时很容易出错,可能会导致数据丢失。如果可以的话,请等待生成器支持删除。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63694327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档