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

Migration 关于ObjectBox数据模型重命名的问题,migration,database-migration,objectbox,Migration,Database Migration,Objectbox,假设我想将属性“user”重命名为“customer”。我知道我可以在新的属性名中添加“user”的@Uid。比如: @Uid(123985252953064306) String customer; 因此,我假设在下一次构建和运行我的应用程序时,数据库中的“用户”被重命名为“客户”。我的第一个问题是:我可以从代码中删除@Uid(123985252953064306)以进行进一步的构建吗?我猜答案是肯定的,如果这个应用程序只由我自己使用?因此,为了保持应用程序最终用户的兼容性,我仍然需要在代码

假设我想将属性“user”重命名为“customer”。我知道我可以在新的属性名中添加“user”的@Uid。比如:

@Uid(123985252953064306)
String customer;
因此,我假设在下一次构建和运行我的应用程序时,数据库中的“用户”被重命名为“客户”。我的第一个问题是:我可以从代码中删除@Uid(123985252953064306)以进行进一步的构建吗?我猜答案是肯定的,如果这个应用程序只由我自己使用?因此,为了保持应用程序最终用户的兼容性,我仍然需要在代码中保留@Uid注释。对吗

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

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

中的文档介绍了您要问的问题,并在中介绍了更多背景知识

简而言之,在属性(或实体)上放置
@Uid
后,您可以根据需要随时重命名它。ObjectBox使用UID标识属性,并知道它以前存在过。因此,您需要将其保留在财产上

所以从

@Uid(123985252953064306)
String customer;
你可以去

@Uid(123985252953064306)
String someFancyName;
回到

@Uid(123985252953064306)
String customer;
在数据库中为属性保留相同的数据