Spaces:
Sleeping
Sleeping
| import sqlite3 | |
| import os | |
| from pathlib import Path | |
| # Target the specific database file | |
| DB_PATH = "data/news.db" | |
| def migrate(): | |
| if not os.path.exists(DB_PATH): | |
| print(f"Error: {DB_PATH} not found.") | |
| return | |
| conn = sqlite3.connect(DB_PATH) | |
| cursor = conn.cursor() | |
| # Get current columns | |
| cursor.execute("PRAGMA table_info(users)") | |
| columns = [c[1] for c in cursor.fetchall()] | |
| print(f"Current columns in 'users' table: {columns}") | |
| needed_columns = { | |
| "profile_image_url": "TEXT", | |
| "streak_history": "JSON", | |
| "subscription_status": "TEXT DEFAULT 'free'", | |
| "bio": "TEXT", | |
| "current_streak": "INTEGER DEFAULT 0" | |
| } | |
| for col, col_type in needed_columns.items(): | |
| if col not in columns: | |
| print(f"Adding column: {col}") | |
| try: | |
| cursor.execute(f"ALTER TABLE users ADD COLUMN {col} {col_type}") | |
| except Exception as e: | |
| print(f"Failed to add {col}: {e}") | |
| else: | |
| print(f"Column {col} already exists.") | |
| conn.commit() | |
| conn.close() | |
| print("Migration complete.") | |
| if __name__ == "__main__": | |
| migrate() | |