如何在Realm数据库的架构中添加字段?

删除我的账户

我正在尝试向Realm数据库方案(箭头所指)添加另一个属性,同时学习如何使用迁移功能。

class FeesPaid: Object {
    dynamic var fileNumber = ""
    dynamic var forMonth = ""
    dynamic var amount: Float = 0.0
    dynamic var balance: Float = 0.0   <-------
    dynamic var date = ""
}

我一直遵循Realm.io上的说明,并且已将代码复制到了第一个块中,并将其放入了位于“ AppDelegate.swift”文件中的“ application(application:didFinishLaunchingWithOptions :)”函数中。

let config = Realm.Configuration(
   // Set the new schema version. This must be greater than the previously used
   // version (if you've never set a schema version before, the version is 0).
   schemaVersion: 1,

   // Set the block which will be called automatically when opening a Realm with
   // a schema version lower than the one set above
   migrationBlock: { migration, oldSchemaVersion in
      // We haven’t migrated anything yet, so oldSchemaVersion == 0
      if (oldSchemaVersion < 1) {
          // Nothing to do!
          // Realm will automatically detect new properties and removed properties
          // And will update the schema on disk automatically
      }
   }
)

// Tell Realm to use this new configuration object for the default Realm
Realm.Configuration.defaultConfiguration = config

// Now that we've told Realm how to handle the schema change, opening the file
// will automatically perform the migration
let clients = try! Realm()

Realm网站上此块下方的语句指出:
“至少,我们要做的就是用一个空块更新版本,以指示该模式已由Realm进行了(自动)升级。”
(上面的if语句中的注释似乎支持不需要做其他任何事情的语句。)

但是,当我运行我的应用程序时,我不断收到错误消息:

致命错误:“尝试!” 表达式意外引发错误:Error Domain = io.realm代码= 0“由于以下错误,对象类型'FeesPaid'要求进行迁移:
-属性“ balance”已添加到最新的对象模型中。”由于以下错误,UserInfo = {NSLocalizedDescription =需要对对象类型“ FeesPaid”进行迁移:
-属性“ balance”已添加到最新的对象模型。}:文件/Library/Caches/com.apple.xbs/Sources/swiftlang/swiftlang-700.1.101.15/src/swift/stdlib/public/core/ErrorType.swift ,第50行

那我在做什么错?

我不需要在新字段中枚举或预先填写任何值。我只需要计划中的新字段。

我将您的代码与文档中的示例示例代码进行了比较,看起来不错。通过所有帐户,应该工作。

我唯一想到的是,Realm在您的应用程序委托中配置对象之前,该对象可能会在应用程序中的其他位置被调用。如果您的应用程序使用情节提要,并且视图控制器viewDidLoad方法中包含任何领域代码,则这是可能的,因为在触发应用程序委托之前已加载了该代码如果是这种情况,通常很容易解决,因为您需要做的只是手动设置并在application(application:didFinishLaunchingWithOptions:)

未能做到这一点,esthepiking说的是正确的。您可以在测试期间增加架构版本,或者如果您知道在开发期间架构变更将非常不稳定,则也可以在每次启动应用程序时将其删除。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在mysql数据库中复制架构

来自分类Dev

如何在Android中清除Realm中的数据库

来自分类Dev

如何在 Realm 中拆分数据库模式?

来自分类Dev

如何在API中包含字段而不在数据库中添加键/值?

来自分类Dev

如何在mysql数据库中添加json数据

来自分类Dev

如何在Visual Studio 2013数据库项目中添加新架构

来自分类Dev

如何在Laravel中获取数据库字段类型?

来自分类Dev

如何在sqlite数据库中设置字段?

来自分类Dev

如何在UML中添加类和数据库

来自分类Dev

如何在Nova数据库中添加表:Openstack

来自分类Dev

如何在数据库sqlite中添加图像?

来自分类Dev

如何在数据库中添加BLOB列?

来自分类Dev

如何在数据库中添加值?

来自分类Dev

如何在石墨烯django中添加数据库中不存在的自定义字段

来自分类Dev

如何在PHP中使用数据库架构?

来自分类Dev

如何在context.xml文件中引用jasperserver数据库的公共架构?

来自分类Dev

如何在pycharm中查看我的sqlite数据库的架构?

来自分类Dev

如何在SQL Server中创建架构绑定的跨数据库视图

来自分类Dev

如何在.edmx EF模型中的多个相同架构数据库之间切换?

来自分类Dev

如何在数据库中的架构下创建表

来自分类Dev

如何在特定数据库的架构中的所有表上授予特权?

来自分类Dev

如何在Liquibase中对数据库架构基线进行版本控制

来自分类Dev

如何在PostgreSQL中列出所有数据库及其架构?

来自分类Dev

如何在 SQL Server 中删除数据库架构和用户

来自分类Dev

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

来自分类Dev

如何在 Realm 数据库中获得 50 个大数字(升序)?

来自分类Dev

布尔标志字段的架构设计(数据库架构)

来自分类Dev

用户,数据库和架构在Teradata中如何关联?

来自分类Dev

如何处理数据库架构中的用户权限?

Related 相关文章

  1. 1

    如何在mysql数据库中复制架构

  2. 2

    如何在Android中清除Realm中的数据库

  3. 3

    如何在 Realm 中拆分数据库模式?

  4. 4

    如何在API中包含字段而不在数据库中添加键/值?

  5. 5

    如何在mysql数据库中添加json数据

  6. 6

    如何在Visual Studio 2013数据库项目中添加新架构

  7. 7

    如何在Laravel中获取数据库字段类型?

  8. 8

    如何在sqlite数据库中设置字段?

  9. 9

    如何在UML中添加类和数据库

  10. 10

    如何在Nova数据库中添加表:Openstack

  11. 11

    如何在数据库sqlite中添加图像?

  12. 12

    如何在数据库中添加BLOB列?

  13. 13

    如何在数据库中添加值?

  14. 14

    如何在石墨烯django中添加数据库中不存在的自定义字段

  15. 15

    如何在PHP中使用数据库架构?

  16. 16

    如何在context.xml文件中引用jasperserver数据库的公共架构?

  17. 17

    如何在pycharm中查看我的sqlite数据库的架构?

  18. 18

    如何在SQL Server中创建架构绑定的跨数据库视图

  19. 19

    如何在.edmx EF模型中的多个相同架构数据库之间切换?

  20. 20

    如何在数据库中的架构下创建表

  21. 21

    如何在特定数据库的架构中的所有表上授予特权?

  22. 22

    如何在Liquibase中对数据库架构基线进行版本控制

  23. 23

    如何在PostgreSQL中列出所有数据库及其架构?

  24. 24

    如何在 SQL Server 中删除数据库架构和用户

  25. 25

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

  26. 26

    如何在 Realm 数据库中获得 50 个大数字(升序)?

  27. 27

    布尔标志字段的架构设计(数据库架构)

  28. 28

    用户,数据库和架构在Teradata中如何关联?

  29. 29

    如何处理数据库架构中的用户权限?

热门标签

归档