アラフォーからのプログラミングとデザイン

大人から始めたプログラミングとデザインについてのあれこれ

失敗を元に戻す方法:コードの自動生成とmigrationを元に戻す

f:id:simpledancer:20171207113042j:plain

今日はコードを打ち込んで失敗しちゃった時の元に戻す方法をまとめてみます。(出張前で今日は時間がないのです)ちなみに昨日気になってこの本お金2.0 新しい経済のルールと生き方 (NewsPicks Book)を買いました!

 

新幹線に乗ってる間に読もう!今日は岐阜県までいくのです。

simpledancer.hatenablog.com

生成したコードを元に戻したい場合

  • コードで自動生成したファイルはファイルを消すだけでは元に戻らない
  • ルーティングのroutes.rbファイルも自動的に変更されるのでそれを変更しなくてはならないため

$ rails generate controller StaticPages home help

で自動生成したファイルを消したい場合ファイル名の前にdestroy

$ rails destroy controller StaticPages home help

引数が後についいている場合は

$ rails generate model User name:string email:string 

↓引数はつけなくて、モデル名だけでおけー

$ rails destroy model User

 

マイグレーションを元に戻す方法

$ rails db:migrate

データベースのマイグレーションを元に戻す時

一つ前の時: $ rails db:rollback

最初に戻す時: $ rails db:migrate VERSION=0

 マイグレーションは逐次的に実行され、それぞれのマイグレーションに対してバージョン番号が付与されます。したがって、上記の0を別の数字に置き換えることによって、指定したバージョンの状態に戻すことができます

参考 

www.rubylife.jp

rake db:migrate - リファレンス - - Railsドキュメント