我尝试在表格中的特定列之后向表中添加列。 这是我做的:
rails generate migration add_reaction_id_to_patient_allergies reaction_id: integer :after => 'patient_id'
以下是我的迁移文件:
class AddReactionIdToPatientAllergies < ActiveRecord::Migration
def change
add_column :patient_allergies, :reaction_id, :string
add_column :patient_allergies, :integer, :string
add_column :patient_allergies, :, :after
add_column :patient_allergies, :=, :string
end
end
我不认为命令进展顺利。我在上面的文件中看到了'='。我不认为应该在那里。有人能告诉我,如果我错过了什么吗?
如果是这样,我该如何撤消上述内容?
答案 0 :(得分:43)
我怀疑它允许你实际rake db:migrate
这次迁移,所以你不应该回滚。只需移除底部的三个add_column
,然后用
add_column :patient_allergies, :reaction_id, :integer, after: :patient_id
rails generate migration add_reaction_id_to_patient_allergies reaction_id:integer
移植应该没问题。为了将来参考,您输入的命令应如下所示:
integer
a => b
之前的空格使得生成器认为它是一个新列。遗憾的是,您不能在命令行上使用Ruby语法({{1}})。