From a7c3f1f92ee66a37299b9dfbc8da00b1a2971ca7 Mon Sep 17 00:00:00 2001 From: Gabriel Kaszewski Date: Fri, 20 Mar 2026 00:01:34 +0100 Subject: [PATCH] feat(db): add library_items, library_sync_log, app_settings migrations --- .../20260319000002_add_library_tables.sql | 33 +++++++++++++++++++ .../20260319000003_add_app_settings.sql | 6 ++++ 2 files changed, 39 insertions(+) create mode 100644 k-tv-backend/migrations_sqlite/20260319000002_add_library_tables.sql create mode 100644 k-tv-backend/migrations_sqlite/20260319000003_add_app_settings.sql diff --git a/k-tv-backend/migrations_sqlite/20260319000002_add_library_tables.sql b/k-tv-backend/migrations_sqlite/20260319000002_add_library_tables.sql new file mode 100644 index 0000000..4143c6f --- /dev/null +++ b/k-tv-backend/migrations_sqlite/20260319000002_add_library_tables.sql @@ -0,0 +1,33 @@ +CREATE TABLE IF NOT EXISTS library_items ( + id TEXT PRIMARY KEY, + provider_id TEXT NOT NULL, + external_id TEXT NOT NULL, + title TEXT NOT NULL, + content_type TEXT NOT NULL, + duration_secs INTEGER NOT NULL DEFAULT 0, + series_name TEXT, + season_number INTEGER, + episode_number INTEGER, + year INTEGER, + genres TEXT NOT NULL DEFAULT '[]', + tags TEXT NOT NULL DEFAULT '[]', + collection_id TEXT, + collection_name TEXT, + collection_type TEXT, + thumbnail_url TEXT, + synced_at TEXT NOT NULL +); + +CREATE INDEX IF NOT EXISTS idx_library_items_provider ON library_items(provider_id); +CREATE INDEX IF NOT EXISTS idx_library_items_content_type ON library_items(content_type); +CREATE INDEX IF NOT EXISTS idx_library_items_series ON library_items(series_name); + +CREATE TABLE IF NOT EXISTS library_sync_log ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + provider_id TEXT NOT NULL, + started_at TEXT NOT NULL, + finished_at TEXT, + items_found INTEGER NOT NULL DEFAULT 0, + status TEXT NOT NULL DEFAULT 'running', + error_msg TEXT +); diff --git a/k-tv-backend/migrations_sqlite/20260319000003_add_app_settings.sql b/k-tv-backend/migrations_sqlite/20260319000003_add_app_settings.sql new file mode 100644 index 0000000..065753b --- /dev/null +++ b/k-tv-backend/migrations_sqlite/20260319000003_add_app_settings.sql @@ -0,0 +1,6 @@ +CREATE TABLE IF NOT EXISTS app_settings ( + key TEXT PRIMARY KEY, + value TEXT NOT NULL +); + +INSERT OR IGNORE INTO app_settings(key, value) VALUES ('library_sync_interval_hours', '6');