panorama/crates/panorama-core/migrations/00001_initial.sql

41 lines
979 B
MySQL
Raw Normal View History

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-21 20:43:19 +00:00
);