initial commit
This commit is contained in:
52
backend/migrate_db.py
Normal file
52
backend/migrate_db.py
Normal file
@@ -0,0 +1,52 @@
|
||||
"""
|
||||
Скрипт для миграции базы данных - добавляет поля 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()
|
||||
Reference in New Issue
Block a user