Ruby on rails 无法迁移带有数组的表
当我尝试迁移时:Ruby on rails 无法迁移带有数组的表,ruby-on-rails,ruby,database,postgresql,migrate,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
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:迁移======================================
-创建_表:任务rails中止!StandardError:发生错误,此迁移和所有后续迁移已取消:
无法引用数组
我正在开发中使用rails 5和mysql。
你知道如何解决这个问题吗?如果你想支持所有的数据库,你必须用字符串序列化数组,我给你举个例子
class Documents < ActiveRecord::Base
serialize :share
end
class AddShareToDocuments < ActiveRecord::Migration
def change
add_column :documents, :share, :string, :default => []
end
end
您使用的是什么类型的数据库?postgresqldatabase@edit对不起,我忘记了它的开发evn,我使用的是mysql,然后你的答案是:你可以使用mysql的Serialize。因此,以字符串的形式生成正确和错误的答案。在任务模型内部,放置serialize:correct_answers,Array。错误的答案也是一样。也许我应该在开发中使用postgres而不是mysql?