[flutter] 플러터 objectbox에서 데이터베이스 마이그레이션 방법은?
ObjectBox는 플러터를 위한 경량 데이터베이스로서, 애플리케이션의 데이터를 저장하고 관리하는 데 사용됩니다. 앱을 업데이트하거나 스키마를 변경할 때, 기존의 데이터베이스를 마이그레이션해야할 수 있습니다.
ObjectBox에서 데이터베이스 마이그레이션은 다음과 같은 단계로 수행됩니다:
-
마이그레이션 스크립트 작성: 마이그레이션 스크립트는 기존 데이터베이스 스키마와 변경된 스키마 간의 차이를 정의하는 역할을 합니다. 예를 들어, 새로운 필드를 추가하거나, 기존 필드를 수정하거나 삭제하는 경우 해당 변경 내용을 스크립트에 작성해야 합니다.
-
마이그레이션 코드 작성: ObjectBox를 초기화하는 코드에서 마이그레이션 스크립트를 실행하는 코드를 작성해야 합니다. 보통 앱의 진입점인
main
함수에서 마이그레이션 코드를 작성하게 됩니다.Store
클래스의ModelDefinition
메서드를 사용하여 스키마 변경 내용을 적용하고,store.close()
를 호출하여 마이그레이션을 완료합니다. -
앱 업데이트 및 마이그레이션 테스트: 수정된 앱을 배포하고, 사용자가 업데이트한 앱을 실행할 때 ObjectBox는 자동으로 마이그레이션을 수행합니다. 마이그레이션은 사용자의 앱 데이터가 제대로 보존되는지 확인하기 위해 테스트해야 합니다. 테스트 시나리오로는 이전 버전의 앱에서 생성된 데이터베이스를 사용하여 앱의 작동을 확인하는 것이 포함될 수 있습니다.
참고 사항
- 마이그레이션 스크립트 작성에는 ObjectBox의 SchemaEditor를 활용할 수 있습니다.
- 자세한 코드 예제 및 자세한 내용은 ObjectBox의 마이그레이션 가이드를 참조하십시오.