어제 오후에 습관처럼 gem update 를하고나서, 어제 저녁에 웹툰 알리미가 아무 알림도 안 보내주길래 왜 그런가 봤더니, where()로 boolean 을 못 가져오더라고요.
string 타입은 이렇게 검색이 잘 되는데,
>> Toon.where(code: 119874) D, [2019-08-25T17:32:43.633800 #51336] DEBUG -- : Toon Load (0.1ms) SELECT "toons".* FROM "toons" WHERE "toons"."code" = ? [["code", "119874"]] => #<ActiveRecord::Relation [#<Toon id: 3, code: "119874", publisher: "naver", toon_type: "webtoon", created_at: "2018-09-20 20:22:45", updated_at: "2019-08-25 17:19:03", frequently: true>]>
boolean 타입은 아무 정보도 못 찾더라고요.
>> Toon.where(frequently: true) #=> #<ActiveRecord::Relation []> D, [2019-08-25T03:39:54.848019 #34914] DEBUG -- : Toon Load (0.2ms) SELECT "toons".* FROM "toons" WHERE "toons"."frequently" = ? [["frequently", 1]]
아무리해도 모르겠어서 오늘 db 뷰어로 열어보니 active record 5에서 만든 boolean은 t, f로 돼있던게,
active record 6로 만든 테이블을 열어보니 0, 1로 쓰고 있었네요...
이거 고치느라 어제 새벽 5시에 잤어요 ㅠㅠ
-----------------------
새로 추가되는 값은 여전히 같은 문제가 발생해서 그냥 필드 타입을 integer로 바꾸고 0, 1을 넣는 걸로 바꿨습니다.