質問: 既存の Rails マイグレーションを別の環境のMySQLで実行したので 当然一致してると思うんですが上長にエビデンスを出す必要があります 全テーブルのスキーマを表示するようなSQLってあるんでしょうか schema_name というのは取得できるみたいなのですが 全テーブルの全カラムのタイプやサイズ、インデックス情報、FK制約 等を取得したいです 文字列として取得できれば diff をとるだけでいいのですが 簡単な方法はありますでしょうか
回答: 両方の環境にアクセスできる状態であれば Oracleが提供しているMysqlUtilitiesの中にmysqldiffというツールがあります。 もし「別環境で接続できない」や「ツールが導入できない」ということであればダンプを作成して比較するがもっとも良いと思います。 mysqldumpがバックアップ用のツールですが、最も使いやすいと思います。 スキーマだけを取得する場合は以下のように記述すればスキーマのみ取得できます。 ``` mysqldump --no-data DATABASE_NAME > DATABASE_NAME.sql ``` その他にもオプションがいろいろありますので、そちらは公式リファレンスを確認してください。