This is a merge driver for Git that resolves typical merge conflicts
db/structure.sql file of Rails.
When your project is configured with
config.active_record.schema_format = :sql, the database schema is
db/structure.sql instead of
db/schema.rb in the native
dump format of the underlying database engine, which is not suitable
for the default merge driver of Git to deal with. As a result, when
you try to merge two branches you always have to resolve trivial
conflicts manually if new schema migrations take place in both
branches. This custom driver takes away such a pain.
Currently only PostgreSQL, MySQL and SQLite3 dump formats are supported.
$ gem install git-merge-structure-sql
And enable it yourself in your Git configuration, or let it do that for you by this command:
$ git-merge-structure-sql --install
This adds necessary settings to your
$XDG_CONFIG_HOME/git/config and the default gitattributes(5) file to
enable the merge driver for structure.sql files.
If you want to enable this driver only in the current git directory, run this:
$ git-merge-structure-sql --install=local
Once enabled, Git should call this driver as necessary when it needs to merge changes made in structure.sql.
CHANGELOG.md for the version history.
Copyright (c) 2018-2021 Akinori MUSHA.
Licensed under the 2-clause BSD license. See
Visit the GitHub Repository for the latest information.