无法使用数组迁移表

时间:2016-12-17 14:19:36

标签: ruby-on-rails ruby database postgresql migrate

当我尝试迁移时:

class CreateTasks < ActiveRecord::Migration[5.0]
  def change
    create_table :tasks do |t|
      t.string :category
      t.string :text
      t.string :asset_name
      t.string :correct_answers, array:true, default: []
      t.string :wrong_answers, array:true, default: []
      t.integer :score

      t.timestamps
    end
  end
end

我收到错误:

  

== 20161217135738 CreateTasks:迁移======================================    - create_table(:tasks)rails aborted! StandardError:发生错误,此以及所有后续迁移都已取消:

     

无法引用数组

我在开发时使用rails 5和mysql。 知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

如果你想支持所有数据库,你必须在一个字符串中序列化数组我给你一个例子

class Documents < ActiveRecord::Base
 serialize :share
end

class AddShareToDocuments < ActiveRecord::Migration
 def change
   add_column :documents, :share, :string, :default => []
 end 
end