読者です 読者をやめる 読者になる 読者になる

Buno Journals

It's what I do that defines me.

Railsで rails generate / rake db:migrate を「元に戻す」方法

Ruby on Rails

destroy: rails generate を元に戻す

rails generate(省略形 rails g)でcontrollerやmodelを生成する場合、複数のファイルが一括で生成され、ルーティングの config/routes.rb も修正されるので、これを取り消すためのコマンドがrails destroyである。

例えば、

$ rails generate controller StaticPages home help

として実行した結果を取り消すなら

$ rails destroy  controller StaticPages home help

とコマンドを打つ。

rollback: rake db:migrate を元に戻す

マイグレーションのコマンド rake db:migrate を取り消すためのコマンドが rake db:rollback だ。このコマンドで一つ前の状態に戻すことができる。

マイグレーションは逐次的に実行され、各マイグレーションに対しバージョン番号が付与されているので、この番号を指定することで指定したバージョンの状態に戻すことができる。

最初の状態に戻す場合は、以下コマンドになる。

$ rake db:migrate VERSION=0

参考

Railsチュートリアルの「コラム3.1 元に戻す方法」より

http://railstutorial.jp/chapters/static_pages?version=4.2#aside-undoing_things