繁体   English   中英

使用@PropertyName 更改 Firebase 实时数据库 POJO 属性,如何迁移现有数据

[英]Change Firebase Realtime Database POJO properties using @PropertyName, How to migrate existing data

我有一个已经在生产中的应用程序,现在我想更改几个表中的数据库属性名称以减少带宽。

例如,实时数据库现有属性是:

   purchasePrice: 60

并通过使用@PropertyName,我想改变它,所以它现在看起来像这样:

   pp: 60

更改后的 POJO 现在具有 @PropertyName,如下所示:

   @PropertyName("pp")
   public float purchasePrice;

问题是:最好的迁移策略是什么,以便所有现有的“purchasePrice”都更新为实时数据库中的新名称,即本例中的“pp”?

我能想到的一种天真的方法是,在客户端更新应用程序时,使用旧 POJO 提取所有数据并将每个属性分配给新 POJO (newPOJO.pp = oldPOJO.purchasePrice),然后将其保存在数据库中。 但是应该有更好的方法,因为我有很多 POJO。

谢谢,

如果您想更改数据库中出现的任何字段的名称,确实没有简单的方法可以做到这一点。 你将不得不:

  1. 查询它可能出现的所有节点
  2. 检查字段是否需要更改
  3. 将新数据写回该位置

无论您是使用使用@PropertyName 的代码还是使用更通用的代码来执行此操作,都没有关系。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM