我正在考虑在我的 android 项目中使用 db4o 来存储对象,但我担心的是如果将来我想更改其中一个对象属性,我该如何处理 db4o 文件中该对象的现有数据?我知道在 sqlite3 环境中这可以通过更改 onUpgrade() 方法中的表结构来完成,那么 db4o 如何处理这个问题?
最佳答案
在 db4o 中,这实际上取决于更改内容。
- 添加字段:您只需添加即可。新字段将具有该类型的默认值。 (引用为 null,数字为 0)
- 删除字段:db4o 将忽略删除的字段。您可以访问已删除字段的旧数据。一旦更新对象,旧字段的值将被删除。
- 可以使用this call 重命名字段和类。 .
- 更改字段类型。这就像添加一个新字段。您需要自己复制这些值。参见 here .
- 添加接口(interface)对 db4o 没有影响。
- 从继承层次结构中删除类型:不支持。
总的来说,看看here .
关于android - 在 android 中更改现有 db4o 中的类属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6422321/