6

我希望通过迁移更改数据库中整数的默认值

class ChangeColumnDefault < ActiveRecord::Migration
  def self.up
    change_column_default(:persons, :age, 0)
  end
end

我也试过:

class ChangeColumnDefault < ActiveRecord::Migration
      def change
        change_column_default(:persons, :age, 0)
      end
    end

我只是通过以下方式运行迁移:

rake db:migrate VERSION=20120822182554_change_column_default.rb

终端中没有显示任何错误,并且我的 schema.rb 中没有任何变化

任何想法/提示?

4

3 回答 3

0

我刚试过这个,它奏效了。看起来你的桌子是:人而不是:人。对我来说,使用“def up”和“def down”也是最重要的。

于 2013-02-05T18:56:15.120 回答
0

也许只使用rake db:migrate VERSION=20120822182554

表名在哪里?:)

于 2012-08-22T19:21:13.773 回答
0

因此,假设您要将默认值设置为 nil 并创建了以下文件db/migrate/20200820171322_change_default_field_on_table.rb

# frozen_string_literal: true

class ChangeDefaultFieldOnTable < ActiveRecord::Migration[5.1]

  def up
    change_column_default(:table, :column_name, nil)
  end

end

如果它有帮助,那应该可以解决问题!

于 2020-08-20T23:28:33.090 回答