2013年1月20日日曜日

RubyMineでrails destroy model をやりたい場合

RubyMineでdestroyモデルとかどうやるんだろ、とずっと気になってたのだがRailsスクリプトコンソールを使えばよかったらしい。

具体的には(ただしMac環境)
ウィンドウメニュー➡Tool➡Run Rails Script…
で出てくるウィンドウで








とすればよかったらしい。

実行ログは

remove    db/migrate/20121211050519_create_aaa.rb
remove    app/models/aaa.rb
invoke    test_unit
remove      test/unit/aaa_test.rb
remove      test/fixtures/aaas.yml

とかなってるので、『テーブル消えてないんじゃない?』 って思ってDBコンソールでアクセスしてみたらやっぱり消えてなかった。
なのでdropマイグレーションつくって消すことにした。

3 件のコメント:

  1. この状態でdropマイグレーションしたら、create_tableのマイグレーションが消えちゃっているので、たぶん、他の人はdb:resetできなくなるよ。

    destroyした後、
    rake db:migrate:resetとするか、dropに使ったマイグレーションを消す必要があると思う。

    返信削除
  2. エコエンジニアさんありがとうございます

    なるほどそれはそうでした
    ご指摘ありがとうございます

    返信削除
  3. rails d modelとしてもテーブルは消えないよ。ただし、create_tableのマイグレーションファイルが消えているので、この状態でrake db:migrate:resetとかすれば消える。

    本番稼働後は、本番環境に db:migrate:resetとかできないから、そのときは、rails d modelではなく、最初からdrop用のマイグレーションファイルを作る。

    返信削除