Files
admin-edu-space/init_db.py
T

44 lines
1.7 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import sys
from app import create_app, db
from app.models.user import User
def init_database():
app = create_app()
with app.app_context():
try:
print("⏳ Conectando a la base de datos y creando tablas...")
db.create_all()
print("✅ Tablas creadas en la base de datos con éxito.")
# Verificar o crear usuario administrador
admin = User.query.filter_by(email="admin@edu-space.com").first()
if not admin:
print("⏳ Creando usuario administrador inicial...")
admin = User(
email="admin@edu-space.com",
name="System Administrator",
role="ADMIN",
is_active=True
)
admin.set_password("admin123")
db.session.add(admin)
db.session.commit()
print("✅ Usuario inicial creado exitosamente:")
print(" Email: admin@edu-space.com")
print(" Password: admin123")
else:
print("ℹ️ El usuario admin (admin@edu-space.com) ya existe en la base de datos.")
print("\n🚀 Base de datos inicializada y lista para usar.")
except Exception as e:
print(f"\n❌ Error al inicializar la base de datos: {str(e)}")
print("\nVerifica que:")
print("1. El servicio de PostgreSQL o MySQL esté corriendo.")
print("2. La base de datos 'classrooms_db' haya sido creada.")
print("3. La variable DATABASE_URL en el archivo .env tenga el usuario y contraseña correctos.")
sys.exit(1)
if __name__ == "__main__":
init_database()