Rails Squasherを使って過去のmigrationファイルをまとめる方法
過去のmigrationファイルがかなり増えてしまったのでmigrationファイルを一括でまとめてくれるGem「Squasher」を使って migrationファイルを1つのファイルにまとめた。 メモ程度にSquasherの使い方、導入方法を書いた。
Squasherの導入方法
ターミナルに
$gem install squasher
または直接
gem 'squasher'
をgemfileの任意の場所に貼り付ける
https://github.com/jalkoby/squasher
↑
作った人がcapistrano, rubocopより下に記入しましょうとたぶん言っているので良さげなところに貼り付ける
こんな感じ(当方バージョンなしでやりました)
group :tools do gem 'squasher', '>= 0.3.0' end
そして
$bundle install
これで導入は完了となります。
Squasherの使い方
$squasher 2017
こちらで2017年より過去のmigrationファイルを一つにまとめてくれます。
実際に使うことができたので問題ないと思います。
下記のように日付まで渡すことで、詳細にそれ以前のマイグレーションファイルをまとめてくれるそうです。
$squasher 2016/10
$squasher 2016/10/10
Squasherの問題というか我儘ですが
年ごとにmigrationファイルをまとめることはできなかった
2014年のmigrationファイルは2013年migrationファイルに1つに
2015年は2015年で1つにしたかったのですが
こんな感じ
2014_migration.rb(まとめたやつ) 2015_migration.rb(まとめたやつ) 2016_migration.rb(まとめたやつ) 20170000000_migration.rb(今年のはまとめない↓) 20170000001_migration.rb 20170000002_migration.rb 20170000003_migration.rb
この「Squasher」では対応することができなさそうでした。
仕方なく2017年より過去のmigrationファイルを1つにまとめました。
もしやり方があれば教えてください。。