Augmented Usamimi

it { is_expected.to be_blog.written_by(izumin5210) }

【Rails】Model名変更5ステップ

めんどくさかった. ここではTermAcademicTermの変更を例にする.

  1. テストが全部緑になるのを確認
  2. table名変更(bin/rails g migration rename_term_academic_term
  3. 置換
    • 旧table名(terms) → 新table名(academic_terms
    • 旧model名(Term)→ 新model名(AcademicTerm
  4. ファイルのリネーム
    • app/models/term.rb
    • spec/models/term.rb
    • spec/factories/terms.rb
  5. テストが全部緑になるのを確認

注意点としては以下の2つ.

  • factorygirlを利用してる場合はfactory名
  • associationが壊れやすいので以下のいずれかで対処
    • foreign_keyclass_nameを設定する
    • 外部キーをrename_columnする

とりあえずちゃんとテスト書いてれば大丈夫(逆に言うと書いてなければ危険,最悪死ぬ).

パーフェクト Ruby on Rails

パーフェクト Ruby on Rails

パーフェクトRuby on Rails

パーフェクトRuby on Rails