""" Скрипт для миграции базы данных - добавляет поля is_admin и is_banned """ import sqlite3 def migrate(): conn = sqlite3.connect('music_platform.db') cursor = conn.cursor() try: # Добавляем поле is_admin cursor.execute("ALTER TABLE users ADD COLUMN is_admin BOOLEAN DEFAULT 0") print("✓ Добавлено поле is_admin") except sqlite3.OperationalError as e: if "duplicate column name" in str(e): print("✓ Поле is_admin уже существует") else: print(f"✗ Ошибка при добавлении is_admin: {e}") try: # Добавляем поле is_banned cursor.execute("ALTER TABLE users ADD COLUMN is_banned BOOLEAN DEFAULT 0") print("✓ Добавлено поле is_banned") except sqlite3.OperationalError as e: if "duplicate column name" in str(e): print("✓ Поле is_banned уже существует") else: print(f"✗ Ошибка при добавлении is_banned: {e}") conn.commit() # Показываем всех пользователей cursor.execute("SELECT id, username, is_admin, is_banned FROM users") users = cursor.fetchall() print("\nТекущие пользователи:") for user in users: print(f"ID: {user[0]}, Username: {user[1]}, Admin: {user[2]}, Banned: {user[3]}") # Предлагаем сделать первого пользователя админом if users: make_admin = input(f"\nСделать пользователя '{users[0][1]}' администратором? (y/n): ") if make_admin.lower() == 'y': cursor.execute("UPDATE users SET is_admin = 1 WHERE id = ?", (users[0][0],)) conn.commit() print(f"✓ Пользователь '{users[0][1]}' теперь администратор") conn.close() print("\n✓ Миграция завершена!") if __name__ == "__main__": migrate()