2024-06-18 19:16:51 +00:00
|
|
|
CREATE TABLE node (
|
|
|
|
node_id TEXT PRIMARY KEY,
|
|
|
|
node_type TEXT NOT NULL,
|
2024-06-18 21:28:15 +00:00
|
|
|
updated_at INTEGER NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
2024-06-17 19:08:03 +00:00
|
|
|
extra_data JSON
|
2024-06-18 19:16:51 +00:00
|
|
|
);
|
|
|
|
|
|
|
|
CREATE TABLE node_has_key (
|
|
|
|
node_id TEXT NOT NULL,
|
|
|
|
full_key TEXT NOT NULL,
|
|
|
|
PRIMARY KEY (node_id, full_key)
|
|
|
|
);
|
|
|
|
CREATE INDEX node_has_key_idx_node_id ON node_has_key(node_id);
|
|
|
|
CREATE INDEX node_has_key_idx_full_key ON node_has_key(full_key);
|
|
|
|
|
|
|
|
-- App-related tables
|
|
|
|
CREATE TABLE app (
|
|
|
|
app_id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
|
|
app_name TEXT NOT NULL,
|
|
|
|
app_version TEXT NOT NULL,
|
|
|
|
app_version_hash TEXT,
|
|
|
|
app_description TEXT,
|
|
|
|
app_homepage TEXT,
|
|
|
|
app_repository TEXT,
|
|
|
|
app_license TEXT
|
|
|
|
);
|
|
|
|
|
2024-06-18 20:20:42 +00:00
|
|
|
CREATE TABLE app_table_mapping (
|
2024-06-18 19:16:51 +00:00
|
|
|
app_id INTEGER NOT NULL,
|
|
|
|
app_table_name TEXT NOT NULL,
|
|
|
|
db_table_name TEXT NOT NULL
|
|
|
|
);
|
|
|
|
|
2024-06-18 20:20:42 +00:00
|
|
|
CREATE TABLE key_mapping (
|
2024-06-18 19:16:51 +00:00
|
|
|
full_key TEXT NOT NULL,
|
|
|
|
app_id INTEGER NOT NULL,
|
|
|
|
app_table_name TEXT NOT NULL,
|
|
|
|
app_table_field TEXT NOT NULL,
|
|
|
|
is_fts_enabled BOOLEAN NOT NULL DEFAULT FALSE
|
2024-06-17 19:08:03 +00:00
|
|
|
);
|