Ruby on rails 如何从ActiveRecord迁移&x27;将数组序列化为Postgres数组数据类型

Ruby on rails 如何从ActiveRecord迁移&x27;将数组序列化为Postgres数组数据类型,ruby-on-rails,postgresql,ruby-on-rails-4,activerecord,rails-activerecord,Ruby On Rails,Postgresql,Ruby On Rails 4,Activerecord,Rails Activerecord,Rails 4支持,我们希望开始利用postgres中的数组类型,如何将现有字段迁移到新的数据类型?序列化将数据库中的内容作为YAML文档存储在文本列中。YAML不是数据库中最容易使用的格式,因此最简单的方法是: 添加一个数组列以容纳数组 循环遍历Rails中的每条记录,让ActiveRecord取消YAML的序列化,将Ruby数组从序列化列复制到1的真实数组列 从模型中删除序列化声明 删除使用的序列化的旧列 将列重命名为1 如果需要,将新重命名的列设置为非NULL 可以使用和函数解析数据库中的

Rails 4支持,我们希望开始利用postgres中的数组类型,如何将现有字段迁移到新的数据类型?

序列化
将数据库中的内容作为YAML文档存储在文本列中。YAML不是数据库中最容易使用的格式,因此最简单的方法是:

  • 添加一个数组列以容纳数组
  • 循环遍历Rails中的每条记录,让ActiveRecord取消YAML的序列化,将Ruby数组从
    序列化
    列复制到1的真实数组列
  • 从模型中删除
    序列化
    声明
  • 删除使用的
    序列化的旧列
  • 将列重命名为1
  • 如果需要,将新重命名的列设置为
    非NULL
  • 可以使用和函数解析数据库中的YAML,但这取决于YAML中存储的内容