Posted at

Railsでの開発でテーブル定義のよく変わるフェーズにrake db:resetupが便利

More than 5 years have passed since last update.


背景

Railsでの開発でDBの定義変更は「もちろん」migrationファイルを作成してカラム追加やテーブル削除を行うのが基本だと思います。

ただテーブル定義の定まらない開発初期から add_columndrop_table をゴリゴリやりまくってると db/migrate/* 配下のファイルが大変な数になってしまうし、ちょっとした変更にmigrationファイルを作るのも手間なので直接直したほうが早いってこともあると思います。(これについてはいろいろご意見もあると思いますが少なくともボクはそう思っています。)

で、どうしてるか?というと開発の初期の頃は、直接 migrationファイルの過去のものを変更して、 rake db:migrate:reset でDB作りなおして、rake db:seedで初期データ入れなおしてってやってたりします。(結局、普通にやってても最低 rake db:migrateはやるでしょ?)


そこで!

2つのタスクを1度に実行できるタスクを追加するgem rails-db-resetup が便利です。


設定

いつもどおり Gemfileに追加

test development しか使わないですよね

group :test, :development do

gem 'rails-db-resetup'
end


使い方

次のコマンド実行するだけ

$ rake db:resetup

これを使ってボクと同じようなことをやっている人の開発が少しでも便利になれば幸いです。