【问题标题】:comparison of [type] with [other_type] failed on Rails 4, postgresql with hstoreRails 4 上 [type] 与 [other_type] 的比较失败,postgresql 与 hstore
【发布时间】:2014-07-24 04:03:53
【问题描述】:

当从 Rails 3postgresqlactiverecord-postgres-hstore gem 升级到 Rails 4postgresql 和原生 Rails 4 hstore 时,我开始遇到大量测试失败的问题(在升级)由于类型不匹配,例如

String 与 0 比较失败

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-4 rails-postgresql hstore


    【解决方案1】:

    tldr Postgresql 将其所有数据存储为字符串,但 activerecord-postgres-hstore gem 允许您将类型定义为访问器的一部分,例如

    hstore :data, :accessors => { old_weight: :decimal }
    

    Rails 4 中的原生 hstore 不允许您定义类型,因此任何非字符串比较(等)都会失败。很难。

    所以在升级到 Rails 4 并转换为原生 hstore 时,任何类型的比较或期望都必须转换/强制执行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-19
      • 1970-01-01
      • 1970-01-01
      • 2014-08-31
      • 2017-04-05
      • 1970-01-01
      相关资源
      最近更新 更多