概要
migrationを導入していないある案件で開発中DB
と次期version開発中DB
とに差分が出てきて、同期をとる必要があった。
そこでその差分をチェックし、同期を取るためのSQLを生成してくれるSQL::Translatorをインストールして使ってみたのでそのメモ。
他にも色々な機能があるようだが詳細は公式サイトを参照。
インストール手順
MacOS
homebrewからinstallする事が出来る。
brew install sql-translator
CentOS
yum install perl-SQL-Translator.noarch
確認
# コマンドの第一引数がoldDB, 第二引数がnewDB
sqlt-diff oldDB newDB
# 引数には[ファイルパス=RDBMS名]で指定。比較結果をリダイレクトでファイル出力
sqlt-diff sample.sql=MySQL sample2.sql=MySQL > ~/Desktop/sample-diff.sql