[android] 안드로이드 Room Database의 새로운 엔티티 추가 방법

안드로이드 앱을 개발할 때 Room Database를 사용하는 경우, 앱의 요구사항이 변하거나 새로운 데이터 모델을 추가해야 할 수 있습니다. 이때 Room Database에 새로운 엔티티를 추가하는 방법에 대해 알아보겠습니다.

1. 엔티티 추가

새로운 엔티티를 추가하려면 다음과 같은 작업을 수행해야 합니다.

1.1. 엔티티 클래스 생성

먼저, 새로 추가할 엔티티에 해당하는 클래스를 작성해야 합니다. Room Database의 각 엔티티는 테이블에 매핑되는데, 그에 맞게 필드와 메서드를 정의해야 합니다.

예를 들어, 다음은 새로운 엔티티인 NewEntity의 예시입니다:

@Entity
public class NewEntity {
   @PrimaryKey
   public int id;
   public String name;
   // 추가 필드 및 메서드 정의
}

1.2. 데이터베이스 버전 업데이트

다음으로, 새로운 엔티티를 Room Database에 추가하려면 데이터베이스 버전을 업데이트해야 합니다. @Database 어노테이션 내의 version 속성을 새로운 버전으로 변경합니다.

@Database(entities = {ExistingEntity.class, NewEntity.class}, version = 2)
public abstract class AppDatabase extends RoomDatabase {
   // 데이터베이스 관련 코드
}

1.3. 마이그레이션 추가 (선택 사항)

기존 데이터베이스에 새로운 엔티티를 추가하는 경우, 마이그레이션을 정의해야 할 수 있습니다. 이는 데이터베이스 스키마가 변경될 때 기존 데이터를 보존하기 위해 필요합니다.

@Database(entities = {ExistingEntity.class, NewEntity.class}, version = 2)
public abstract class AppDatabase extends RoomDatabase {
   // 마이그레이션 코드
}

2. 결론

위의 단계를 따르면 안드로이드 Room Database에 새로운 엔티티를 추가할 수 있습니다. 데이터베이스의 유연성을 유지하면서 변경된 요구사항에 대응할 수 있게 됩니다.

이상으로 안드로이드 Room Database의 새로운 엔티티 추가 방법에 대해 알아보았습니다.

참고 문서: Android Developers - Room Persistence Library