【Rails】Model名変更5ステップ
めんどくさかった.
ここではTerm
→ AcademicTerm
の変更を例にする.
- テストが全部緑になるのを確認
- table名変更(
bin/rails g migration rename_term_academic_term
) - 置換
- 旧table名(
terms
) → 新table名(academic_terms
) - 旧model名(
Term
)→ 新model名(AcademicTerm
)
- 旧table名(
- ファイルのリネーム
app/models/term.rb
spec/models/term.rb
spec/factories/terms.rb
- テストが全部緑になるのを確認
注意点としては以下の2つ.
factorygirl
を利用してる場合はfactory名- associationが壊れやすいので以下のいずれかで対処
foreign_key
やclass_name
を設定する- 外部キーを
rename_column
する
とりあえずちゃんとテスト書いてれば大丈夫(逆に言うと書いてなければ危険,最悪死ぬ).
- 作者: すがわらまさのり,前島真一,近藤宇智朗,橋立友宏
- 出版社/メーカー: 技術評論社
- 発売日: 2014/06/06
- メディア: 大型本
- この商品を含むブログ (7件) を見る
- 作者: すがわらまさのり,前島真一,近藤宇智朗,橋立友宏
- 出版社/メーカー: 技術評論社
- 発売日: 2014/10/31
- メディア: Kindle版
- この商品を含むブログ (1件) を見る