MikaList/game_collection/database.py

43 lines
1.2 KiB
Python

import sqlite3
import os
from flask import current_app
from werkzeug.security import generate_password_hash
def init_db():
db_path = os.path.join(current_app.instance_path, 'games.db')
conn = sqlite3.connect(db_path)
cursor = conn.cursor()
# Tabelle für Spiele erstellen
cursor.execute('''
CREATE TABLE IF NOT EXISTS games (
id INTEGER PRIMARY KEY AUTOINCREMENT,
image TEXT,
title TEXT NOT NULL,
date TEXT,
buyer TEXT,
owned BOOLEAN NOT NULL
)
''')
# Tabelle für Benutzer erstellen
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
username TEXT NOT NULL UNIQUE,
password TEXT NOT NULL,
role TEXT NOT NULL CHECK(role IN ('user', 'admin')),
last_login TEXT
)
''')
# Standardbenutzer erstellen
hashed_password = generate_password_hash("admin")
cursor.execute('''
INSERT OR IGNORE INTO users (username, password, role)
VALUES (?, ?, ?)
''', ("admin", hashed_password, "admin"))
conn.commit()
conn.close()