[]
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 | 프래그먼트와 관련된 데이터 |