From 8c5df557f8911f8adeb80c24b99812d2ea0169c8 Mon Sep 17 00:00:00 2001 From: Pedro Nascimento Date: Tue, 16 Jan 2024 09:55:31 -0300 Subject: [PATCH] refactor: initial data optimization --- api/scripts/database_initial_data.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/api/scripts/database_initial_data.py b/api/scripts/database_initial_data.py index 17e0956c..aa6702c6 100644 --- a/api/scripts/database_initial_data.py +++ b/api/scripts/database_initial_data.py @@ -84,6 +84,7 @@ async def run(): estados = relacao_estado_municipio[['UF','Nome_UF']].drop_duplicates() municipios = relacao_estado_municipio[['UF','Nome_Município','Código Município Completo']] + municipios_para_criar = [] for _, estado in estados.iterrows(): state, _ = await State.get_or_create( country=brasil, @@ -92,11 +93,14 @@ async def run(): ) for _, municipio in municipios[municipios['UF'] == estado['UF']].iterrows(): - await City.get_or_create( - state=state, - code=municipio['Código Município Completo'], - name=municipio['Nome_Município'] + municipios_para_criar.append( + City( + state=state, + code=municipio['Código Município Completo'], + name=municipio['Nome_Município'] + ) ) + City.bulk_create(municipios_para_criar, ignore_conflicts=True) logger.info("States and Cities created successfully") await Tortoise.close_connections()