0

Railsアプリのデータベースに新しい移行を追加しています。その中で、新しいアプリケーションに列を追加しています。一部の列にはデフォルトがあります。既存の列のいくつかにもデフォルトを追加したいと思います。私のコードは現在次のようになっています。

class AddStuffToTable < ActiveRecord::Migration
  def change
    add_column :table, :column4, :string
    add_column :table, :column5, :boolean, default: false
    add_default_to_column :table, :column1, default: 0
    add_default_to_column :table, :column2, default: 5.8
  end
end

add_default_to_columnは正しい構文ではないことを知っています。正しい構文/メソッド名は? また、整数/小数列の場合、上記はデフォルトの数値を追加する正しい方法です (つまり、文字列の "" など、数値自体以外のものが必要ですか)。

4

4 に答える 4

0

ActiveRecord::Migrationの Rails API に従って、次のメソッドを使用できます。

change_column(table_name, column_name, type, options)

したがって、あなたの場合は次のようになります。

change_column(:table, :column1, :integer, default: 0)
change_column(:table, :column2, :float, default: 5.8)

これにより、最初の列がデフォルト値 0 の整数に変更され、2 番目の列がデフォルト値 5.8 の浮動小数点数に変更されます。

于 2013-05-03T16:04:28.960 に答える
0

あなたが試すことができます:

add_column :table, :column5, TrueClass, :default => false

change_column :table, :column4,  Integer, :null => false, :default => 0
于 2013-05-03T16:04:36.160 に答える