85 lines
2.4 KiB
Python
85 lines
2.4 KiB
Python
|
|
import sqlite3
|
||
|
|
import os
|
||
|
|
|
||
|
|
# Define database path
|
||
|
|
BASE_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
|
||
|
|
DB_PATH = os.path.join(BASE_DIR, 'database', 'Web', 'Web_App.sqlite')
|
||
|
|
|
||
|
|
def init_db():
|
||
|
|
print(f"Initializing Web database at: {DB_PATH}")
|
||
|
|
|
||
|
|
# Create directory if not exists
|
||
|
|
os.makedirs(os.path.dirname(DB_PATH), exist_ok=True)
|
||
|
|
|
||
|
|
conn = sqlite3.connect(DB_PATH)
|
||
|
|
cursor = conn.cursor()
|
||
|
|
|
||
|
|
# Create Tables
|
||
|
|
tables = [
|
||
|
|
"""
|
||
|
|
CREATE TABLE IF NOT EXISTS team_lineups (
|
||
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||
|
|
name TEXT NOT NULL,
|
||
|
|
description TEXT,
|
||
|
|
player_ids_json TEXT,
|
||
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||
|
|
);
|
||
|
|
""",
|
||
|
|
"""
|
||
|
|
CREATE TABLE IF NOT EXISTS player_metadata (
|
||
|
|
steam_id_64 TEXT PRIMARY KEY,
|
||
|
|
notes TEXT,
|
||
|
|
tags TEXT,
|
||
|
|
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||
|
|
);
|
||
|
|
""",
|
||
|
|
"""
|
||
|
|
CREATE TABLE IF NOT EXISTS strategy_boards (
|
||
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||
|
|
title TEXT,
|
||
|
|
map_name TEXT,
|
||
|
|
data_json TEXT,
|
||
|
|
created_by TEXT,
|
||
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||
|
|
);
|
||
|
|
""",
|
||
|
|
"""
|
||
|
|
CREATE TABLE IF NOT EXISTS wiki_pages (
|
||
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||
|
|
path TEXT UNIQUE,
|
||
|
|
title TEXT,
|
||
|
|
content TEXT,
|
||
|
|
updated_by TEXT,
|
||
|
|
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||
|
|
);
|
||
|
|
""",
|
||
|
|
"""
|
||
|
|
CREATE TABLE IF NOT EXISTS comments (
|
||
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||
|
|
user_id TEXT,
|
||
|
|
username TEXT,
|
||
|
|
target_type TEXT,
|
||
|
|
target_id TEXT,
|
||
|
|
content TEXT,
|
||
|
|
likes INTEGER DEFAULT 0,
|
||
|
|
is_hidden INTEGER DEFAULT 0,
|
||
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||
|
|
);
|
||
|
|
"""
|
||
|
|
]
|
||
|
|
|
||
|
|
for sql in tables:
|
||
|
|
try:
|
||
|
|
cursor.execute(sql)
|
||
|
|
print("Executed SQL successfully.")
|
||
|
|
except Exception as e:
|
||
|
|
print(f"Error executing SQL: {e}")
|
||
|
|
|
||
|
|
conn.commit()
|
||
|
|
conn.close()
|
||
|
|
print("Web database initialized successfully.")
|
||
|
|
|
||
|
|
if __name__ == '__main__':
|
||
|
|
init_db()
|