ruby on rails在特定列名后添加一列。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby on rails在特定列名后添加一列。相关的知识,希望对你有一定的参考价值。

我试着在表中的特定列后添加一列到表中.这是我做的。

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)的命令行。

以上是关于ruby on rails在特定列名后添加一列。的主要内容,如果未能解决你的问题,请参考以下文章

如何检查特定属性是不是是有效的 ruby​​ on rails

Coffeescript 和 jQuery 无法在特定视图上使用 Ruby on Rails

如何使用链接/按钮更改列属性 - Ruby on Rails

Ruby on Rails 6 - 如何根据特定路线建模/隐藏视图?

ruby on rails jsonb 列默认值

Ruby on rails:仅从两列范围内获取数据