Reputation: 6918
I know how to add default value in a migration file already created. i.e.,
`rails generate migration AddTestColumnToTesttable test_status:boolean` to create it.
It will generate this migration:
class AddTestColumnToTable < ActiveRecord::Migration
def change
add_column :table, :test_status, :boolean, :default => true
end
end
But, Can we add the default value through rails g migration
command itself?
Upvotes: 18
Views: 26195
Reputation: 17834
No, it can't be done from the command line, you need to change it in the migration file
add_column :table, :test_status, :boolean, :default => true
Hope that helps!
Upvotes: 25
Reputation: 9715
Still now, as there is no option to add new column to a table with default value defined through terminal in rails migration, The following steps to be followed to add a new column to an existing table with default value true or false.
$ rails generate migration add_columnname_to_tablename columnname:boolean
The above command will add a new column in your table.
class AddColumnnameToTablename < ActiveRecord::Migration
def change
add_column :tablename, :columnname, :boolean, default: false
end
end
$ rake db:migrate
Upvotes: 6