ruby-on-rails-3 - 是否有可能在 PostgreSQL 中有一个 hstore 数组

标签 ruby-on-rails-3 postgresql activerecord postgresql-9.1

我是 PostgreSQL 的完全初学者。我对 Postgres 提供的 hstore 数据类型感到非常惊讶。好吧,我正在使用 Rails 3 框架并开发一个使用 PostgreSQL 的简单应用程序。我想在一个字段中存储一个哈希数组。 例如:

authors: [
           {
             name: "abc",
             email: "abc@example.com"
           },
           {
             name: "xyz",
             email: "xyz@example.com"
           }
         ]

在使用 Rails 3 的 PostgreSQL 中这可能吗?如果是这样,有人可以提供见解吗?

谢谢

最佳答案

当然可以在 Rails 4 中创建一个 hstore 数组列,例如表创建中的列规范如下:

t.hstore :properties, :array => true

但是,不幸的是,Rails 4.0 中存在一个编码错误,导致它们无法使用;从本质上讲,您可以从中读取它们,并且它们以哈希数组的形式正确呈现,但不能写入。

我已经在 https://github.com/rails/rails/issues/11135 打开了一个问题(带有修复补丁)希望很快就会合并。

关于ruby-on-rails-3 - 是否有可能在 PostgreSQL 中有一个 hstore 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16194998/

相关文章:

java - 如何获取多对多关系实体

ruby-on-rails - 应该 "be valid"做失败与 "' handle_matcher' : undefined method 'matches?' "

ruby-on-rails - state_machine 对转换的验证

python - 将整个文件作为一个字符串导入

postgresql - 如何通过两组连接记录查询连接表中的数据?

sql - ActiveRecord 查询,按关联排序,has_many 的最后一个

ruby-on-rails - 对模型使用 has_and_belongs_to_many 是个坏主意吗?

ruby-on-rails - 如何在 Rails ActiveRecord 中的日期指定小于今天的条件

ruby-on-rails - Rails 3 - 未定义方法 `map' 为 nil :NilClass for my own validation

ruby-on-rails - 在rails中直接编写SQL查询是一个好习惯吗?