import sqlite3 from werkzeug.security import generate_password_hash DB_PATH = "user_data.db" SCHEMA = """ CREATE TABLE IF NOT EXISTS users ( id INTEGER PRIMARY KEY AUTOINCREMENT, username TEXT UNIQUE NOT NULL, email TEXT UNIQUE NOT NULL, password TEXT NOT NULL ); CREATE TABLE IF NOT EXISTS feedbacks ( id INTEGER PRIMARY KEY AUTOINCREMENT, comment_text TEXT NOT NULL, topic TEXT NOT NULL, sentiment_label TEXT NOT NULL, sentiment_score REAL NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); """ def get_db(): conn = sqlite3.connect(DB_PATH) conn.row_factory = sqlite3.Row return conn def init_db(): conn = get_db() conn.executescript(SCHEMA) # admin auto create admin = conn.execute( "SELECT * FROM users WHERE username=?", ("admin",) ).fetchone() if not admin: conn.execute( "INSERT INTO users (username,email,password) VALUES (?,?,?)", ("admin", "admin@aims.com", generate_password_hash("admin123")) ) print("[DB] Admin created -> admin / admin123") conn.commit() conn.close() if __name__ == "__main__": init_db()