| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- from app import create_app
- from models import db, DatosSolaresCiudad, CatalogoPaneles, Configuracion
- def seed_database():
- app = create_app()
- with app.app_context():
- print("Iniciando poblado de base de datos...")
-
- # Opcional: Limpiar tablas existentes si quieres reiniciar de cero
- db.drop_all()
- db.create_all()
- # Configuración
- if not Configuracion.query.filter_by(clave='precio_kwh').first():
- print("Creando configuración por defecto...")
- default_config = Configuracion(clave='precio_kwh', valor='0.04')
- db.session.add(default_config)
- else:
- print("La configuración ya existe.")
- # Cities (Ecuador)
- if not DatosSolaresCiudad.query.first():
- print("Creando ciudades...")
- cities = [
- # Sierra
- DatosSolaresCiudad(nombre_ciudad="Quito", provincia="Pichincha", irradiacion_h_promedio=5.1),
- DatosSolaresCiudad(nombre_ciudad="Cuenca", provincia="Azuay", irradiacion_h_promedio=4.8),
- DatosSolaresCiudad(nombre_ciudad="Loja", provincia="Loja", irradiacion_h_promedio=5.0),
- DatosSolaresCiudad(nombre_ciudad="Ambato", provincia="Tungurahua", irradiacion_h_promedio=4.7),
- DatosSolaresCiudad(nombre_ciudad="Ibarra", provincia="Imbabura", irradiacion_h_promedio=4.9),
- DatosSolaresCiudad(nombre_ciudad="Riobamba", provincia="Chimborazo", irradiacion_h_promedio=5.2),
- DatosSolaresCiudad(nombre_ciudad="Tulcán", provincia="Carchi", irradiacion_h_promedio=4.8),
- DatosSolaresCiudad(nombre_ciudad="Latacunga", provincia="Cotopaxi", irradiacion_h_promedio=5.2),
- DatosSolaresCiudad(nombre_ciudad="Guaranda", provincia="Bolívar", irradiacion_h_promedio=4.9),
- DatosSolaresCiudad(nombre_ciudad="Azogues", provincia="Cañar", irradiacion_h_promedio=4.8),
-
- # Costa
- DatosSolaresCiudad(nombre_ciudad="Guayaquil", provincia="Guayas", irradiacion_h_promedio=4.6),
- DatosSolaresCiudad(nombre_ciudad="Manta", provincia="Manabí", irradiacion_h_promedio=5.3),
- DatosSolaresCiudad(nombre_ciudad="Portoviejo", provincia="Manabí", irradiacion_h_promedio=5.0),
- DatosSolaresCiudad(nombre_ciudad="Esmeraldas", provincia="Esmeraldas", irradiacion_h_promedio=4.5),
- DatosSolaresCiudad(nombre_ciudad="Babahoyo", provincia="Los Ríos", irradiacion_h_promedio=4.4),
- DatosSolaresCiudad(nombre_ciudad="Machala", provincia="El Oro", irradiacion_h_promedio=4.7),
- DatosSolaresCiudad(nombre_ciudad="Santa Elena", provincia="Santa Elena", irradiacion_h_promedio=5.5),
- DatosSolaresCiudad(nombre_ciudad="Santo Domingo", provincia="Santo Domingo de los Tsáchilas", irradiacion_h_promedio=4.2),
-
- # Oriente (Amazonía)
- DatosSolaresCiudad(nombre_ciudad="Nueva Loja", provincia="Sucumbíos", irradiacion_h_promedio=4.0),
- DatosSolaresCiudad(nombre_ciudad="Puerto Francisco de Orellana", provincia="Orellana", irradiacion_h_promedio=4.1),
- DatosSolaresCiudad(nombre_ciudad="Tena", provincia="Napo", irradiacion_h_promedio=3.8),
- DatosSolaresCiudad(nombre_ciudad="Puyo", provincia="Pastaza", irradiacion_h_promedio=3.9),
- DatosSolaresCiudad(nombre_ciudad="Macas", provincia="Morona Santiago", irradiacion_h_promedio=4.0),
- DatosSolaresCiudad(nombre_ciudad="Zamora", provincia="Zamora Chinchipe", irradiacion_h_promedio=4.1),
-
- # Insular
- DatosSolaresCiudad(nombre_ciudad="Puerto Ayora", provincia="Galápagos", irradiacion_h_promedio=5.8),
- DatosSolaresCiudad(nombre_ciudad="Puerto Baquerizo Moreno", provincia="Galápagos", irradiacion_h_promedio=5.7)
- ]
- db.session.add_all(cities)
- else:
- print("Las ciudades ya existen.")
-
- # Panels
- if not CatalogoPaneles.query.first():
- print("Creando paneles...")
- panels = [
- CatalogoPaneles(marca="SunPower", modelo="Maxeon 3", eficiencia_r=0.22, area_m2=1.6, precio_unitario=350),
- CatalogoPaneles(marca="Canadian Solar", modelo="HiKu", eficiencia_r=0.18, area_m2=1.7, precio_unitario=220),
- CatalogoPaneles(marca="Jinko", modelo="Tiger Pro", eficiencia_r=0.20, area_m2=1.65, precio_unitario=250)
- ]
- db.session.add_all(panels)
- else:
- print("Los paneles ya existen.")
-
- db.session.commit()
- print("¡Base de datos poblada con éxito!")
- if __name__ == '__main__':
- seed_database()
|