DBカラム名を変更したらTestが失敗した
Railsで作成済みのモデルのカラム名を変更した際に、ハマったことをメモ。
Usersモデルをtypeというカラムを加えて作成したところ、それはアカンと怒られた。なので、それをoccupationというカラムに置き換えるmigrationを実行したところ、変更自体はうまくいった。ここまではよし。
さて、rake testを実行したところ、なぜかtypeカラム名でのテストを実行しようとしていた。当然失敗。
14) Error: UsersControllerTest#test_should_destroy_user: ActiveRecord::StatementInvalid: Mysql2::Error: Unknown column 'type' in 'field list':
色々探しまわったところ、test/fixtures配下のusers.ymlが更新されてなかった。それを新しいカラム名occupationを置き換えたらテストが通るようになった。