[]
        
(Showing Draft Content)

내장 Sqlite3 데이터베이스 어댑터 스키마

SQL

CREATE TABLE IF NOT EXISTS documents (
  id TEXT PRIMARY KEY,
  type TEXT NOT NULL,
  version INTEGER NOT NULL,
  snapshot_version INTEGER NOT NULL
);

CREATE TABLE IF NOT EXISTS operations (
  doc_id TEXT NOT NULL,
  version INTEGER NOT NULL,
  operation TEXT NOT NULL,
  PRIMARY KEY (doc_id, version),
  FOREIGN KEY (doc_id) REFERENCES documents (id) ON DELETE CASCADE
);

CREATE TABLE IF NOT EXISTS snapshot_fragments (
  doc_id TEXT NOT NULL,
  fragment_id TEXT NOT NULL,
  data TEXT NOT NULL,
  PRIMARY KEY (doc_id, fragment_id),
  FOREIGN KEY (doc_id) REFERENCES documents (id) ON DELETE CASCADE
);

스키마

테이블 이름

컬럼 이름

데이터 타입

설명

documents

id

TEXT

문서의 고유 식별자

version

INTEGER

문서의 버전 번호

snapshotVersion

INTEGER

스냅샷 버전 번호

type

TEXT

문서 타입

ops

roomId

TEXT

룸 ID

version

INTEGER

작업(Operation)의 버전

data

TEXT

작업과 관련된 데이터

fragments

roomId

TEXT

룸 ID

fragmentId

TEXT

프래그먼트의 고유 식별자

data

TEXT

프래그먼트와 관련된 데이터