我试着在表中的特定列后添加一列到表中.这是我做的。
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
我不认为这个命令进行得很顺利 我在上面的文件中看到一个'='。我不认为它应该在那里。谁能告诉我,如果我错过了什么?
如果是的话,我怎样才能撤销上面的操作?
我怀疑它是否允许你真正 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
让生成器认为这是一个新的列。很遗憾,你不能使用Ruby语法(a => b
)的命令行。