微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

关于ObjectBox数据模型重命名的问题

如何解决关于ObjectBox数据模型重命名的问题

说我想将属性“ user”重命名为“ customer”。我知道可以在新的属性名称添加“ user”的@Uid。喜欢:

@Uid(123985252953064306)
String customer;

因此,我认为在我的应用的下一次构建和运行期间,数据库中的“用户”将重命名为“客户”。我的第一个问题是:然后可以从我的代码删除@Uid(123985252953064306)进行进一步构建吗?如果应用程序仅由我自己使用,我想答案是肯定的。因此,为了保持与应用程序最终用户的兼容性,我仍然需要在代码中保留@Uid批注。正确吗?

我的下一个问题是:如果以后我想将“客户”重命名为“客户”怎么办?我应该在新属性添加其他@Uid吗?喜欢:

@Uid(123985252953064306)
@Uid(124568645726267383)
String client;

解决方法

Data Model Updates中的文档涵盖了您要提出的问题,Meta Model,IDs,and UIDs中的文档也提供了更多背景知识。

简而言之,一旦将@Uid放在属性(或实体)上,就可以随心所欲地对其进行重命名。 ObjectBox使用UID来标识该属性,并知道它之前曾存在过。因此,您需要将其保留在属性上。

所以

@Uid(123985252953064306)
String customer;

你可以去

@Uid(123985252953064306)
String someFancyName;

然后返回

@Uid(123985252953064306)
String customer;

在数据库中为属性保留相同的数据。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。