Can I Pass Default Value To Rails Generate Migration?


Answer :

You can't: https://guides.rubyonrails.org/active_record_migrations.html#column-modifiers

null and default cannot be specified via command line.

The only solution is to modify the migration after it's generated. It was the case in Rails 3, still the case in Rails 6


Rails migration generator does not handle default values, but after generation of migration file you should update migration file with following code

add_column :users, :disabled, :boolean, default: false 

you can also see this link - http://api.rubyonrails.org/classes/ActiveRecord/Migration.html


Default migration generator in Rails does not handle default values, there is no way around as of now to specify default value defined through terminal in rails migration.

you would like to follow below steps in order to achieve what you want

1). Execute

$ rails generate migration add_disabled_to_users disabled:boolean 

2). Set the new column value to TRUE/FALSE by editing the new migration file created.

class AddDisabledToUsers < ActiveRecord::Migration   def change     add_column :users, :disabled, :boolean, default: false   end end 

3). Run above generated migration by Executing.

$ rake db:migrate 

Comments

Popular posts from this blog

Are Regular VACUUM ANALYZE Still Recommended Under 9.1?

Can Feynman Diagrams Be Used To Represent Any Perturbation Theory?