[flutter] 플러터 objectbox에서 데이터베이스 마이그레이션 도구는?
ObjectBox의 마이그레이션 도구를 사용하려면 다음 단계를 따라야 합니다:
- ObjectBox 패키지를 플러터 프로젝트에 추가합니다.
pubspec.yaml
파일에서dependencies
섹션에 다음 줄을 추가하세요:objectbox: ^0.14.0
이후 터미널에서
flutter packages get
을 실행하여 패키지를 설치하세요. - 마이그레이션을 수행할 때마다 버전을 업데이트해야 합니다.
lib/main.dart
파일의buildObjectBox()
함수에서 마이그레이션 코드를 작성하세요. 예를 들어, 다음과 같이 작성할 수 있습니다:// ObjectBox 인스턴스 생성 var store = await openStore(); // 마이그레이션 코드 작성 Future<ObjectBoxModel> prepareMigration(Directory dir) async { var model = ObjectBoxModel(); // 기존 엔티티 버전을 추가 model.defineModel(dir, entities: [Entity1${'$'}ObjectBox.getEntityModel()]); model.defineModel(dir, entities: [Entity2${'$'}ObjectBox.getEntityModel()]); // 변경된 엔티티 스키마를 추가 model.defineModel(dir, entities: [Entity3${'$'}ObjectBox.getEntityModel()]); model.defineModel(dir, entities: [Entity4${'$'}ObjectBox.getEntityModel()]); return model; } // 마이그레이션 수행 await store.runInTransaction(() async { var dir = Directory(store.directory); var model = await prepareMigration(dir); var box = Box<Object>(store); box.close(); store.close(); var newStore = await openStore(model: model); // 새로운 스키마 모델로 저장소 열기 print('Migration complete'); });
-
마이그레이션 코드를 적용하기 전에 데이터베이스를 백업하는 것이 좋습니다. 마이그레이션이 예상대로 진행되지 않을 경우 백업 데이터를 사용할 수 있습니다.
- 플러터 애플리케이션을 실행하여 마이그레이션을 수행하고 변경된 데이터베이스를 사용해보세요. 마이그레이션이 성공적으로 수행될 때까지 애플리케이션을 테스트하는 것이 중요합니다.
ObjectBox에서 데이터베이스 마이그레이션을 수행하는 방법에 대한 더 자세한 내용은 ObjectBox의 공식 문서를 참조하세요.