← Blog

Rails 6.1 deprecates structure:dump/load rake tasks

This blog is part of our Rails 6.1 series.

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.

Changes in Rails 6.1

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.

Chetan Gawai avatar
Written byChetan Gawai
Newsletter

Stay up to date with our blogs.

Subscribe to receive an email notification for a new blog post.