将整数更改为浮点列表Rails

Nei*_*phy 11 ruby-on-rails ruby-on-rails-4.2

我需要改成t.integer :mark_upa float我该怎么做?我已经在我的终端尝试rails g migration change_column(:stakes, :mark_up, :float)了继续得到一个syntax error near unexpected token ('

Nos*_*ool 19

在您的终端:

rails generate migration ChangeMarkUpToFloat
Run Code Online (Sandbox Code Playgroud)

并在创建的文件中: db/migrate/2015xxxxxxxxxx/change_mark_up_to_float.rb

编辑为:

class ChangeMarkUpToFloat < ActiveRecord::Migration
  def change
    change_column :stakes, :mark_up, :float
  end
end
Run Code Online (Sandbox Code Playgroud)

然后回到你的终端:

rake db:migrate
Run Code Online (Sandbox Code Playgroud)

  • 当迁移确实不可逆时,请谨慎使用“更改”方法。如果您运行“rake db:migrate:down”,它如何知道要转换为什么类型?考虑定义“up”和“down”。 (2认同)

seb*_*kom 0

您不能change_column在终端中使用 Rails 代码 ( )。

您需要做的是首先创建迁移:rails generate migration ChangeMarkUpType然后将 Rails 代码放入创建的文件中。

您可以在此处阅读有关迁移的更多信息