12345678910111213141516171819202122232425262728293031323334353637383940 |
- /* SQLite schema for pocket_archive. */
- CREATE TABLE atbl_art_type (
- id int PRIMARY KEY AUTOINCREMENT,
- label text NOT NULL UNIQUE,
- broader_id int,
- FOREIGN KEY (broader_id) REFERENCES atbl_art_type(id)
- );
- /* Metadata schema. Each row represents a field definition. */
- CREATE TABLE atbl_md_schema (
- id int PRIMARY KEY AUTOINCREMENT,
- uri TEXT NOT NULL UNIQUE,
- label TEXT NOT NULL UNIQUE,
- description TEXT,
- data_type int NOT NULL,
- min_card int DEFAULT 0,
- max_card int,
- range TEXT
- );
- CREATE TABLE tbl_metadatum (
- id int PRIMARY KEY AUTOINCREMENT,
- field_id int NOT NULL,
- value_int int, /* This includes timestamps. */
- value_float real,
- value_str TEXT
- /* TODO add more types as needs arise. */
- );
- CREATE TABLE tbl_artifact (
- id int PRIMARY KEY AUTOINCREMENT,
- provided_id TEXT UNIQUE,
- type_id int NOT NULL,
- metadata_id int NOT NULL,
- FOREIGN KEY (type_id) REFERENCES atbl_art_type(id),
- FOREIGN KEY (metadata_id) REFERENCES tbl_metadatum(id) ON DELETE CASCADE
- );
|