One of the best features of Rails is its ORM, Active Record which makes it easy to interface with various database engines and even multiple databases themselves. However, not every database-specific task was available to these shards.
Only in Rails 6 was additional database-specific rake tasks
for multi-database users added.
This allowed tasks like schema dumps
to be run on individual databases via rails db:schema:dump:primary
and more.
Before
However, doing this will not allow users to specify the schema dump filepath. All dumps will write to the same location. This was quite troublesome as there was no easy way to quickly dump all shards without manual intervention.
After
Fortunately, this PR allows users to set the filename of the schema or structure dump in the database config.
The filename set in schema_dump
will be used by the application.
It is also possible to toggle dumping itself
by setting schema_dump
to false
.