first commit

This commit is contained in:
2025-11-19 01:09:25 -03:00
parent e7a380f36e
commit be10a888fb
28 changed files with 2481 additions and 464 deletions

74
init_users.py Normal file
View File

@@ -0,0 +1,74 @@
#!/usr/bin/env python3
"""
Script para inicializar la base de datos de Syntria
Ejecutar desde Portainer > Stack > Servicios > backend > Console
"""
from app.core.database import SessionLocal, engine, Base
from app.models import User
from app.core.security import get_password_hash
def init_database():
"""Inicializar base de datos y crear usuarios"""
print("🗄️ Creando tablas...")
# Crear todas las tablas
Base.metadata.create_all(bind=engine)
print("✅ Tablas creadas")
# Crear sesión
db = SessionLocal()
try:
# Verificar si ya existen usuarios
existing_users = db.query(User).count()
if existing_users > 0:
print(f"⚠️ Ya existen {existing_users} usuarios en la base de datos")
response = input("¿Deseas crear usuarios de todas formas? (s/n): ")
if response.lower() != 's':
print("❌ Operación cancelada")
return
print("\n👥 Creando usuarios...")
# Usuario Admin
admin = User(
username='admin',
password_hash=get_password_hash('admin123'),
role='admin',
full_name='Administrador',
email='admin@syntria.com',
is_active=True
)
db.add(admin)
print("✅ Usuario 'admin' creado (password: admin123)")
# Usuario Mecánico
mecanico = User(
username='mecanico',
password_hash=get_password_hash('mec123'),
role='mecanico',
full_name='Mecánico',
email='mecanico@syntria.com',
is_active=True
)
db.add(mecanico)
print("✅ Usuario 'mecanico' creado (password: mec123)")
# Guardar cambios
db.commit()
print("\n✨ Base de datos inicializada correctamente!")
print("\n📋 Usuarios creados:")
print(" - admin / admin123 (Administrador)")
print(" - mecanico / mec123 (Mecánico)")
except Exception as e:
print(f"\n❌ Error: {e}")
db.rollback()
raise
finally:
db.close()
if __name__ == "__main__":
init_database()