如何在iOS上处理Realm React Native迁移和schemaVersion?

山的爱德

在我爱上react-native和iOS领域之前,我试图了解有关如何处理迁移的更多信息。这句话让我感到关注:

Realm React Native 0.10.0

当前,如上所述,迁移仅限于在打开Realm时更新schema和schemaVersion。尚不支持数据迁移,但将来可能会添加。

我理解这意味着每次对** any schema **进行更改时,我都需要增加schemaVersion

如何指定多个架构,每个架构都有自己的架构版本?

这不起作用:

export default new Realm(
  {schema: [AppSetting], schemaVersion: 0},
  {schema: [Gps], schemaVersion: 3},
  {schema: [Waypoint], schemaVersion: 4},
  {schema: [FlightPath], schemaVersion: 1},
);

这假设我可能需要经常修改更复杂的架构,直到我做对了。

只要我仅添加新属性,迁移就会简单吗?

我假设我不能重命名或删除现有属性?

非常感谢您提供有关领域迁移的建议,

有里

您需要为整个架构指定一个schemaVersion:

export default new Realm({schema: [AppSetting, Gps, ...], schemaVersion: 0});

当您更新架构中的任何objectSchema时,您需要更改schemaVersion。这意味着某些个体objectSchema在多个schemaVersions中将保持不变,但是我认为这要比为每种对象类型使用不同的版本要简单。

当您使用新的schemaVersion / schema初始化Realm时,将添加所有新属性,并删除和删除所有属性。因此,如果重命名属性,最终将添加一个具有新名称的新属性,并删除旧属性及其数据。现在,如果要将数据从一个属性复制到另一个属性,则需要分两个步骤进行操作,因此旧属性和新属性都同时存在,您可以进行复制。您还需要跟踪是否进行了复制,因此仅在第一次使用新架构打开领域时才执行此操作。如果仅添加属性,则可以避免大多数(如果不是全部)这种复杂性。

我们没有时间完成初始版本的迁移,但是好消息是大多数功能是在内部实现的,只需要通过js API公开即可。运作方式是什么:打开Realm时,您将能够通过迁移功能,这将使您能够访问迁移前的Realm和迁移后的Realm,并允许您根据需要复制数据。我们希望在接下来的几个发行版中完成这一工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Windows(React-Native)上为iOS构建?

来自分类Dev

如何在iOS上注册React Native模块

来自分类Dev

如何在iOS上注册React Native模块

来自分类Dev

如何在react-native上为Android和ios使用不同的样式?

来自分类Dev

如何在真实设备上捆绑和部署React-Native iOS应用

来自分类Dev

如何在真实设备上捆绑和部署React-Native iOS应用

来自分类Dev

React Native - android 和 iOS?

来自分类Dev

Android上的React-Native Realm返回空对象,在iOS上运行良好

来自分类Dev

如何在iOS上的react-native中创建本机文件?

来自分类常见问题

如何从React Native应用程序迁移到react-native模块

来自分类Dev

领域迁移中的oldVersion,newVersion和schemaVersion?

来自分类Dev

领域迁移中的oldVersion,newVersion和schemaVersion?

来自分类Dev

如何在React Native中处理<Text>中的长文本

来自分类Dev

如何在React Native中处理图像序列

来自分类Dev

React-native 处理登录和注册

来自分类Dev

如何使用React和Typescript处理div上的点击事件

来自分类Dev

如何在React Native上从uri获取图像的高度和宽度?

来自分类Dev

react-native:如何结合 react-native-router-flux 和 react-native-drawer?

来自分类Dev

Realm React Native-需要迁移:属性“ emailAddresses”的目标类型“字符串”不存在

来自分类Dev

React-Native / Realm:如何在数据库中存储图像?

来自分类Dev

如何在realm-react-native中创建嵌套的类似于文件夹的结构?

来自分类Dev

如何使用React Native修复iOS上的边界半径?

来自分类Dev

如何在 ios 上的 react-native-push-notification 中向通知对象添加其他数据?

来自分类Dev

如何在真实的 ios 设备上通过热重载运行 react-native 应用程序?

来自分类Dev

如何在React Native iOS中调试链接错误?

来自分类Dev

如何在React Native中强制禁用iOS暗模式

来自分类Dev

如何在iOS中实现react-native-dark-mode

来自分类Dev

React Native:如何在onPress事件上更改视图

来自分类Dev

React-Native如何在TextInput上向上移动屏幕

Related 相关文章

  1. 1

    如何在Windows(React-Native)上为iOS构建?

  2. 2

    如何在iOS上注册React Native模块

  3. 3

    如何在iOS上注册React Native模块

  4. 4

    如何在react-native上为Android和ios使用不同的样式?

  5. 5

    如何在真实设备上捆绑和部署React-Native iOS应用

  6. 6

    如何在真实设备上捆绑和部署React-Native iOS应用

  7. 7

    React Native - android 和 iOS?

  8. 8

    Android上的React-Native Realm返回空对象,在iOS上运行良好

  9. 9

    如何在iOS上的react-native中创建本机文件?

  10. 10

    如何从React Native应用程序迁移到react-native模块

  11. 11

    领域迁移中的oldVersion,newVersion和schemaVersion?

  12. 12

    领域迁移中的oldVersion,newVersion和schemaVersion?

  13. 13

    如何在React Native中处理<Text>中的长文本

  14. 14

    如何在React Native中处理图像序列

  15. 15

    React-native 处理登录和注册

  16. 16

    如何使用React和Typescript处理div上的点击事件

  17. 17

    如何在React Native上从uri获取图像的高度和宽度?

  18. 18

    react-native:如何结合 react-native-router-flux 和 react-native-drawer?

  19. 19

    Realm React Native-需要迁移:属性“ emailAddresses”的目标类型“字符串”不存在

  20. 20

    React-Native / Realm:如何在数据库中存储图像?

  21. 21

    如何在realm-react-native中创建嵌套的类似于文件夹的结构?

  22. 22

    如何使用React Native修复iOS上的边界半径?

  23. 23

    如何在 ios 上的 react-native-push-notification 中向通知对象添加其他数据?

  24. 24

    如何在真实的 ios 设备上通过热重载运行 react-native 应用程序?

  25. 25

    如何在React Native iOS中调试链接错误?

  26. 26

    如何在React Native中强制禁用iOS暗模式

  27. 27

    如何在iOS中实现react-native-dark-mode

  28. 28

    React Native:如何在onPress事件上更改视图

  29. 29

    React-Native如何在TextInput上向上移动屏幕

热门标签

归档