- Add Caddy reverse proxy for automatic HTTPS with Let's Encrypt - Update docker-compose.yml with Caddy service and internal networking - Remove all Redis dependencies (not needed for this deployment) - Fix Dockerfile permissions for instance and uploads directories - Move legacy scripts to old_code_documentation folder - add_muted_column.py, check_fix_player.py, migrate_add_edit_enabled.py - docker-start.sh, run_dev.sh, start.sh, clean_for_deployment.sh - Add HTTPS_SETUP.md documentation for Caddy configuration - Update .env.example with DOMAIN and EMAIL variables - Remove redis package from requirements.txt - Remove rate limiting Redis storage from config.py
48 lines
1.4 KiB
Python
48 lines
1.4 KiB
Python
"""Migration: Add edit_on_player_enabled column to playlist_content table."""
|
|
import sqlite3
|
|
import os
|
|
|
|
DB_PATH = 'instance/dashboard.db'
|
|
|
|
def migrate():
|
|
"""Add edit_on_player_enabled column to playlist_content."""
|
|
if not os.path.exists(DB_PATH):
|
|
print(f"Database not found at {DB_PATH}")
|
|
return False
|
|
|
|
conn = sqlite3.connect(DB_PATH)
|
|
cursor = conn.cursor()
|
|
|
|
try:
|
|
# Check if column already exists
|
|
cursor.execute("PRAGMA table_info(playlist_content)")
|
|
columns = [col[1] for col in cursor.fetchall()]
|
|
|
|
if 'edit_on_player_enabled' in columns:
|
|
print("Column 'edit_on_player_enabled' already exists!")
|
|
return True
|
|
|
|
# Add the new column with default value False
|
|
print("Adding 'edit_on_player_enabled' column to playlist_content table...")
|
|
cursor.execute("""
|
|
ALTER TABLE playlist_content
|
|
ADD COLUMN edit_on_player_enabled BOOLEAN DEFAULT 0
|
|
""")
|
|
|
|
conn.commit()
|
|
print("✅ Migration completed successfully!")
|
|
print("Column 'edit_on_player_enabled' added with default value False (0)")
|
|
|
|
return True
|
|
|
|
except Exception as e:
|
|
conn.rollback()
|
|
print(f"❌ Migration failed: {e}")
|
|
return False
|
|
|
|
finally:
|
|
conn.close()
|
|
|
|
if __name__ == '__main__':
|
|
migrate()
|