ruby-on-rails - 将现有的 Rails 列从字符串转换为数组

标签 ruby-on-rails arrays postgresql migration

我有一个现有的 Rails 应用程序,其中一个列有现有的 分号分隔字符串。我想将其转换为默认为 empty array 的数组。

此外,对于已经包含分号分隔字符串格式数据的行,我们需要将其转换为适当的数组。

  • 数据库:psqlPostgreSQL
  • 框架:Rails 4.2

最佳答案

我是这样解决的:

class ChangeQualificationToArray < ActiveRecord::Migration

  def change
    change_column :coaches, :qualifications, "varchar[] USING (string_to_array(qualifications, ';'))"
  end

end

关于ruby-on-rails - 将现有的 Rails 列从字符串转换为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43169645/

相关文章:

ruby-on-rails - 使用 Rails 复制到冗余服务器?

ruby-on-rails - rails : How to check which form in a view was submitted

javascript - 按数字顺序对 "advanced"数字字符串进行排序

sql - PostgreSQL 索引——这些是多余的吗?

ruby-on-rails - Ruby/Rails 中的类方法与常量

ruby-on-rails - 在 Rails 迁移中,如何将列的默认值设置为 NOW() 而不是运行迁移时的时间?

c++ - 如何最好地处理 C/C++ 中的动态多维数组?

java - java中如何将ArrayList中的元素复制到int数组

postgresql - 返回前检查 Postgres 函数中的结果计数

sql - 如何将 SELECT 语句的一部分放入 Postgres 函数中