Flutter Database 패키지

Chance·2022년 11월 28일

sqflite

Sqflite

Sqflite는 iOS 및 Android용 sqlite API에 대한 바인딩을 제공하는 Flutter패키지입니다. 
잘 관리되고 안정적인 API를 가지고있습니다. 
실제로 moor, drift은 sqflite 위에 구축됩니다.

장점

  • 데이터베이스에 대한 완전한 제어.
  • 앱을 위한 매우 효율적인 SQLite 데이터베이스(기존 SQLite 지식이 있는 경우).
  • SQLite 데이터베이스를 열 수 있는 타사 앱으로 쉽게 읽을 수 있습니다.
    (따라서 컴퓨터에서 데이터베이스를 열고 데이터가 어떻게 보이는지 확인할 수 있음).

단점

  • 모든 검색어를 직접 작성하려면 많은 시간이 소요될 수 있습니다.
  • 데이터베이스에서 반환된 데이터는 처음부터 강력하게 입력되지 않습니다.
    장치에서 마이그레이션을 처리하는 것은 잠재적으로 어렵습니다
    (예: 버전 업데이트 간에 스키마가 변경되는 경우).
  • 그것은 웹을 지원하지 않습니다

moor, drift

Drift (Moor)

Moor 는 내용을 정의하는 방법에 따라 프로그래밍 방식으로 테이블의 스키마를 생성 합니다.

moor => drift로 마이그레이션 (공식홈)
그 이유는 세계의 일부 지역에서 moor가 경멸적인 용어로 사용될 수 있기 때문입니다. 

build_runner명령 을 실행하면 moor 파일에서 정의한 내용을 기반으로 스키마가 생성됩니다. 
또한 특정 쿼리를 실행해야 하거나 보다 세분화된 제어가 필요한 경우 언제든지 원시 SQL로 되돌아갈 수 있습니다.

Build_runner
생성된 파일을 테스트하거나 소스 및 생성된 파일을 모두 제공하는 것을 포함하여 파일을 생성하기 위한 범용 명령을 제공합니다.

장점

강력하게 입력된 결과!
SQLite 기반.
모든 쿼리를 수동으로 직접 구성할 필요가 없습니다.
코드 생성을 통해 많은 무거운 작업을 처리합니다.
SQLite 데이터베이스는 개발 중에 데이터를 확인하기 위해 현재 사용할 수 있는 다양한 도구로 탐색할 수 있습니다.

단점

로컬 장치에서 스키마 업데이트를 처리하는 것은 번거로울 수 있습니다.
웹 지원은 아직 미리 보기 상태입니다.
플랫폼별 종속성이 있습니다(순수한 Dart로 작성되지 않음).

0개의 댓글