デフォルト値をRails g migration
コマンドに渡すことができるかどうか知りたい。何かのようなもの:
$ Rails generate migration add_disabled_to_users disabled:boolean:false #where false is default value for disabled attribute
生成するため:
class AddDisabledToUsers < ActiveRecord::Migration
def change
add_column :users, :disabled, :boolean, default: false
end
end
できません: https://guides.rubyonrails.org/active_record_migrations.html#column-modifiers
nullおよびdefaultは、コマンドラインでは指定できません。
Rails移行ジェネレーターはデフォルト値を処理しませんが、移行ファイルの生成後、次のコードで移行ファイルを更新する必要があります
add_column :users, :disabled, :boolean, default: false
また、このリンクを見ることができます- http://api.rubyonrails.org/classes/ActiveRecord/Migration.html
Railsはデフォルト値を処理しません。現在のところ、ターミナルin Rails migration。
あなたが望むものを達成するために、以下の手順に従ってください
1)。実行する
$ Rails generate migration add_disabled_to_users disabled:boolean
2)。作成された新しい移行ファイルを編集して、新しい列の値をTRUE/FALSEに設定します。
class AddDisabledToUsers < ActiveRecord::Migration
def change
add_column :users, :disabled, :boolean, default: false
end
end
3)。上記の生成された移行を実行して実行します。
$ rake db:migrate
Rails 3.2は、 http://guides.rubyonrails.org/v3.2/migrations.html に基づくコマンドラインタイプ修飾子をサポートしていないようです。
Rails 4.1のドキュメントは type modifiers を参照していますが、 Rails 3.2 のドキュメントはページ内のWord "modifier"に言及していません。