Spaces:
Sleeping
Sleeping
| 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() |