SanctuaryCommander/sc_database_generator.py

50 lines
1.7 KiB
Python

import json
from utilities.database.sqlite import SQLite
with open("config.json", 'r') as config_file:
config_json = json.loads(config_file.read())
my_db = SQLite(config_json["database"]["name"])
my_db.query("""
CREATE TABLE IF NOT EXISTS media (
media_id INTEGER PRIMARY KEY AUTOINCREMENT,
media_name TEXT NOT NULL,
media_uri TEXT,
media_preparing INTEGER DEFAULT 0 CHECK(media_preparing IN (0, 1)),
media_active INTEGER DEFAULT 0 CHECK(media_active IN (0, 1)),
media_default INTEGER DEFAULT 0 CHECK(media_default IN (0, 1))
)
""")
my_db.query("""
CREATE TABLE IF NOT EXISTS media_preparation (
media_preparation_id INTEGER PRIMARY KEY AUTOINCREMENT,
media_id INTEGER NOT NULL,
media_preparation_started INTEGER DEFAULT 0 CHECK(media_preparation_started IN (0, 1)),
media_preparation_progress INTEGER,
media_preparation_finished INTEGER DEFAULT 0 CHECK(media_preparation_finished IN (0, 1)),
media_preparation_time_between_components INTEGER
)
""")
my_db.query("""
CREATE TABLE IF NOT EXISTS media_component (
media_component_id INTEGER PRIMARY KEY AUTOINCREMENT,
media_id INTEGER NOT NULL,
media_component_uri NOT NULL,
media_component_index INTEGER CHECK(media_component_index >= 1),
media_component_deleted INTEGER DEFAULT 0 CHECK(media_component_deleted IN (0, 1))
)
""")
my_db.query("""
CREATE TABLE IF NOT EXISTS media_playback_option (
media_playback_option_id INTEGER PRIMARY KEY AUTOINCREMENT,
media_id INTEGER NOT NULL,
media_playback_option TEXT NOT NULL,
media_playback_option_weight INTEGER NOT NULL CHECK(media_playback_option_weight >= 1)
)
""")
my_db.close()