seed.py 4.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. from app import create_app
  2. from models import db, DatosSolaresCiudad, CatalogoPaneles
  3. def seed_database():
  4. app = create_app()
  5. with app.app_context():
  6. print("Iniciando poblado de base de datos...")
  7. # Opcional: Limpiar tablas existentes si quieres reiniciar de cero
  8. # db.drop_all()
  9. # db.create_all()
  10. # Cities (Ecuador)
  11. if not DatosSolaresCiudad.query.first():
  12. print("Creando ciudades...")
  13. cities = [
  14. # Sierra
  15. DatosSolaresCiudad(nombre_ciudad="Quito", provincia="Pichincha", irradiacion_h_promedio=5.1),
  16. DatosSolaresCiudad(nombre_ciudad="Cuenca", provincia="Azuay", irradiacion_h_promedio=4.8),
  17. DatosSolaresCiudad(nombre_ciudad="Loja", provincia="Loja", irradiacion_h_promedio=5.0),
  18. DatosSolaresCiudad(nombre_ciudad="Ambato", provincia="Tungurahua", irradiacion_h_promedio=4.7),
  19. DatosSolaresCiudad(nombre_ciudad="Ibarra", provincia="Imbabura", irradiacion_h_promedio=4.9),
  20. DatosSolaresCiudad(nombre_ciudad="Riobamba", provincia="Chimborazo", irradiacion_h_promedio=5.2),
  21. DatosSolaresCiudad(nombre_ciudad="Tulcán", provincia="Carchi", irradiacion_h_promedio=4.8),
  22. DatosSolaresCiudad(nombre_ciudad="Latacunga", provincia="Cotopaxi", irradiacion_h_promedio=5.2),
  23. DatosSolaresCiudad(nombre_ciudad="Guaranda", provincia="Bolívar", irradiacion_h_promedio=4.9),
  24. DatosSolaresCiudad(nombre_ciudad="Azogues", provincia="Cañar", irradiacion_h_promedio=4.8),
  25. # Costa
  26. DatosSolaresCiudad(nombre_ciudad="Guayaquil", provincia="Guayas", irradiacion_h_promedio=4.6),
  27. DatosSolaresCiudad(nombre_ciudad="Manta", provincia="Manabí", irradiacion_h_promedio=5.3),
  28. DatosSolaresCiudad(nombre_ciudad="Portoviejo", provincia="Manabí", irradiacion_h_promedio=5.0),
  29. DatosSolaresCiudad(nombre_ciudad="Esmeraldas", provincia="Esmeraldas", irradiacion_h_promedio=4.5),
  30. DatosSolaresCiudad(nombre_ciudad="Babahoyo", provincia="Los Ríos", irradiacion_h_promedio=4.4),
  31. DatosSolaresCiudad(nombre_ciudad="Machala", provincia="El Oro", irradiacion_h_promedio=4.7),
  32. DatosSolaresCiudad(nombre_ciudad="Santa Elena", provincia="Santa Elena", irradiacion_h_promedio=5.5),
  33. DatosSolaresCiudad(nombre_ciudad="Santo Domingo", provincia="Santo Domingo de los Tsáchilas", irradiacion_h_promedio=4.2),
  34. # Oriente (Amazonía)
  35. DatosSolaresCiudad(nombre_ciudad="Nueva Loja", provincia="Sucumbíos", irradiacion_h_promedio=4.0),
  36. DatosSolaresCiudad(nombre_ciudad="Puerto Francisco de Orellana", provincia="Orellana", irradiacion_h_promedio=4.1),
  37. DatosSolaresCiudad(nombre_ciudad="Tena", provincia="Napo", irradiacion_h_promedio=3.8),
  38. DatosSolaresCiudad(nombre_ciudad="Puyo", provincia="Pastaza", irradiacion_h_promedio=3.9),
  39. DatosSolaresCiudad(nombre_ciudad="Macas", provincia="Morona Santiago", irradiacion_h_promedio=4.0),
  40. DatosSolaresCiudad(nombre_ciudad="Zamora", provincia="Zamora Chinchipe", irradiacion_h_promedio=4.1),
  41. # Insular
  42. DatosSolaresCiudad(nombre_ciudad="Puerto Ayora", provincia="Galápagos", irradiacion_h_promedio=5.8),
  43. DatosSolaresCiudad(nombre_ciudad="Puerto Baquerizo Moreno", provincia="Galápagos", irradiacion_h_promedio=5.7)
  44. ]
  45. db.session.add_all(cities)
  46. else:
  47. print("Las ciudades ya existen.")
  48. # Panels
  49. if not CatalogoPaneles.query.first():
  50. print("Creando paneles...")
  51. panels = [
  52. CatalogoPaneles(marca="SunPower", modelo="Maxeon 3", eficiencia_r=0.22, area_m2=1.6, precio_unitario=350),
  53. CatalogoPaneles(marca="Canadian Solar", modelo="HiKu", eficiencia_r=0.18, area_m2=1.7, precio_unitario=220),
  54. CatalogoPaneles(marca="Jinko", modelo="Tiger Pro", eficiencia_r=0.20, area_m2=1.65, precio_unitario=250)
  55. ]
  56. db.session.add_all(panels)
  57. else:
  58. print("Los paneles ya existen.")
  59. db.session.commit()
  60. print("¡Base de datos poblada con éxito!")
  61. if __name__ == '__main__':
  62. seed_database()