MySQLでdbのスキーマの差分を比較したい.

開発用ブランチを使っているテスト環境で、migrateに失敗した時に手動解決(schema_migrationsをいじいじとか)したせいで、初回migrate時とバックアップからリストアしたdbで差分が出てしまっているようなのでスキーマだけ比較したくなった。

sqlのdiff用のツールとかもあるが結局以下の方法でdumpしたファイルを見るのが一番早かった。修正は手作業になるが仕方あるまい。

mysqldump -u user -p passwd -h 127.0.0.1 --all-databases --no-data --skip-create-options > schema_dump.sql

これで比較したいdumpファイルを初期状態dbとリストアしたdbの2つ用意して、VSCodeなりなんなりで差分を見ればよい。

以上。