BigBinary Blog
We write about Ruby on Rails, React.js, React Native, remote work, open source, engineering and design.
Rails 6.1 deprecates rails db:structure:load
and rails db:structure:dump
tasks.
Before Rails 6.1, executing rake db:schema:dump
would dump db/schema.rb
file.
And executing rake db:structure:dump
would dump db/structure.sql
file.
Rails provides config.active_record.schema_format
setting for which the valid values are :ruby
or :sql
.
However, since there are specific tasks for db:structure
and db:schema
this value was not really being used.
In Rails 6.1 the Rails team decided to combine the two different tasks into a single task.
In Rails 6.1 rails db:structure:dump
and rails db:structure:load
have been deprecated and the
following message would be shown.
Using `bin/rails db:structure:dump` is deprecated and will be removed in Rails 6.2. Configure the format using `config.active_record.schema_format = :sql` to use `structure.sql` and run `bin/rails db:schema:dump` instead.
Now Rails will start taking into the account value set for config.active_record.schema_format
.
rails db:schema:dump
and rails db:schema:load
would do the right thing based on the value set for config.active_record.schema_format
.
Check out the pull request for more details on this.