본문 바로가기

카테고리 없음

Room 마이그레이션 시 주의사항

728x90
반응형

주의사항

  • Entity 의 Long 타입으로 선언했어도 sql문에선 INTEGER로 작성해야 한다.
  • Entity의 Boolean 타입도 INTEGER로 작성해야 합니다.
  • NOT NULL과 NULL ABLE을 잘 구분해서 작성해야 합니다
  • default 값이 일치해야 합니다.
    • boolean 타입은 default값도 Integer 형태로 작성해야 합니다.
  • Entity 클래스 에서도 디폴트 값을 설정해줘야 합니다.

 

테이블을 추가하거나 컬럼을 추가할때 위에서 작성한 sql문의 디폴트 값과 생성한 테이블 컬럼의 디폴트 값이 일치해야 합니다. 일반적으로 변수에 값을 초기화 하면 추가되는 테이블과 일치하지 않다고 에러가 발생해 'columnInfo' 어노테이션을 이용해 디폴트 값을 설정해야 합니다. ( 밑의 코드를 예로 plantId = 0 이라고 명시해도 마이그레이션시 디폴트 값은 null이라고 뜨는걸 확인하실 수 있습니다. ) 

728x90
반응형