first commit
This commit is contained in:
61
backend/init_db.py
Normal file
61
backend/init_db.py
Normal file
@@ -0,0 +1,61 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Script para inicializar la base de datos con usuarios de prueba
|
||||
"""
|
||||
from app.core.database import SessionLocal, engine, Base
|
||||
from app.core.security import get_password_hash
|
||||
from app.models import User
|
||||
from sqlalchemy import text
|
||||
|
||||
def init_db():
|
||||
db = SessionLocal()
|
||||
|
||||
try:
|
||||
# Verificar conexión
|
||||
db.execute(text("SELECT 1"))
|
||||
print("✓ Conexión a la base de datos exitosa")
|
||||
|
||||
# Verificar si ya existen usuarios
|
||||
existing_users = db.query(User).count()
|
||||
if existing_users > 0:
|
||||
print(f"⚠ Ya existen {existing_users} usuario(s) en la base de datos")
|
||||
return
|
||||
|
||||
# Crear usuario administrador
|
||||
admin = User(
|
||||
username="admin",
|
||||
email="admin@checklist.com",
|
||||
full_name="Administrador",
|
||||
password_hash=get_password_hash("admin123"),
|
||||
role="admin",
|
||||
is_active=True
|
||||
)
|
||||
db.add(admin)
|
||||
|
||||
# Crear usuario mecánico de prueba
|
||||
mechanic = User(
|
||||
username="mechanic",
|
||||
email="mechanic@checklist.com",
|
||||
full_name="Mecánico de Prueba",
|
||||
password_hash=get_password_hash("mechanic123"),
|
||||
role="mechanic",
|
||||
is_active=True
|
||||
)
|
||||
db.add(mechanic)
|
||||
|
||||
db.commit()
|
||||
|
||||
print("✓ Usuarios creados exitosamente:")
|
||||
print(" - Admin: username='admin', password='admin123'")
|
||||
print(" - Mechanic: username='mechanic', password='mechanic123'")
|
||||
|
||||
except Exception as e:
|
||||
print(f"✗ Error al inicializar la base de datos: {e}")
|
||||
db.rollback()
|
||||
finally:
|
||||
db.close()
|
||||
|
||||
if __name__ == "__main__":
|
||||
print("Inicializando base de datos...")
|
||||
init_db()
|
||||
print("¡Inicialización completada!")
|
||||
Reference in New Issue
Block a user