패키지, 저장소 및 앱 카테고리 검색

패키지 상세v0.3.0

sqflite_migration

sqflite 플러그인을 사용하여 SQLite DB 마이그레이션을 활성화하는 라이브러리입니다.

AndroidiOSmacOS
30일 다운로드
2.5천
좋아요
23
Pub 점수
155

패키지 설치

flutter pub add sqflite_migration

패키지 개요

공개 정보를 바탕으로 생성한 선택 가이드입니다.

sqflite_migration은 sqflite 플러그인을 사용하여 SQLite용 데이터베이스 마이그레이션을 용이하게 하는 Flutter 패키지입니다. 시간이 지남에 따라 스키마 변경 사항을 구조적으로 관리할 수 있도록 하여 앱 업데이트 시 데이터 무결성을 보장합니다. 이 라이브러리는 데이터베이스 버전이 변경될 때 자동으로 실행되는 마이그레이션 스크립트를 정의할 수 있게 해주며, 로컬 데이터베이스의 버전 관리를 간소화합니다. sqflite와 원활하게 통합되며 Android, iOS 및 macOS 플랫폼을 지원합니다.

사용 사례

  • 로컬 SQLite 데이터베이스에서 스키마 변경 관리
  • 앱 업데이트 중 데이터베이스 업그레이드 자동화
  • 앱 버전 간의 호환성 보장
  • 마이그레이션 중 복잡한 데이터 변환 처리
  • 다단계 마이그레이션 워크플로우 지원

주요 기능

  • 버전화된 마이그레이션 스크립트
  • 데이터베이스 열기 시 자동 마이그레이션 실행
  • 마이그레이션 단계를 정의하기 위한 간단한 API
  • sqflite 플러그인과의 호환성
  • 크로스 플랫폼 지원 (Android, iOS, macOS)

적합한 대상

  • 지속적인 로컬 데이터 저장이 필요한 앱
  • 진화하는 데이터베이스 스키마를 가진 프로젝트
  • 개발자가 데이터베이스 버전 관리를 수동으로 관리함
  • 신뢰할 수 있는 마이그레이션 패턴이 필요한 팀
  • 오프라인 우선 아키텍처를 갖춘 플러터 앱

고려 사항

  • 마이그레이션 파일의 수동 설정이 필요합니다
  • sqflite 플러그인에 종속
  • 마이그레이션 로직은 동일성 여야 합니다
  • 내장된 롤백 메커니즘이 없음
  • 기본 로깅을 넘어서는 제한된 오류 처리

원본 README

연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.

Build Status codecov

Migrate your mobile sqlite database

Library to manage sqlite db migrations using sqflite plugin.

Getting Started

import 'package:path/path.dart';
import 'package:sqflite/sqflite.dart';
import 'package:sqflite_migration/sqflite_migration.dart';

final initialScript = [
  '''
create table _todo_list (
  id integer primary key autoincrement,
  alias text not null
  )
''',
  '''
create table _task (
  id integer primary key autoincrement,
  description text,
  todo_list_id integer not null,
  CONSTRAINT fk_todo_lists
    FOREIGN KEY (todo_list_id)
    REFERENCES _todo_list(id)
);
'''
];

final migrations = [
  '''
  alter table _task add column done integer default 0;
  '''
];

final config = MigrationConfig(initializationScript: initialScript, migrationScripts: migrations);

Future<Database> open() async {
 final databasesPath = await getDatabasesPath();
 final path = join(databasesPath, 'test.db');
 
 return await openDatabaseWithMigration(path, config);
}

카테고리

의존성

의존성 목록 1 개

소스 저장소

이 패키지를 사용하는 프로젝트

아직 데이터가 없습니다.