Closed ArthurJahn closed 2 years ago
leggo-geral/arquitetura.md
leggo-geral/update_leggo_data.sh
leggo-backend/api/management/commands/update_db_remotely.py
leggo-backend/api/management/commands/clear_tables.py
migrate
Default django command
leggo-backend/api/management/commands/import_insights_from_remote.py
No ambiente de produção
as tabelas são carregadas a partir do CVS SERVER
. Já no ambiente de homolagação
podemos alimentar de forma local as tabelas atráves do comando update_data
que utiliza o import_utils
para auxiliar no carregamento e deleção de tabelas.
leggo-backend/api/management/commands/update_data.py
leggo-backend/api/management/commands/import_utils.py
@andersonms1 tem um comando do manage.py clear_tables
que pode ter a ver com esse processo também. Acho que vale dar uma olhada
O Django possuí um 'despachador' capaz de executar uma ação caso um model seja criado por exemplo, assim ao criar uma tabela do tipo Proposição
ou <AnyModel>Proposição
o 'despachador' pode executar uma função que preenche um campo da tabela com a tabela de usuários interessados.
A função update_reference()
então procura nas models de usuários interessados
a atual Proposição
e faz o update da referência.
A vantagem dessa implementação com o uso de signals
é o desacoplamento de metodos já extensos, facilitando a manutenção.
@andersonms1 Acho que podemos testar essa solução na próxima sprint. Só vamos precisar ficar de olho nesses processos no futuro porque em algum momento as proposições vão parar de ser carregadas por meio de arquivos CSV e vão começar a ser cadastradas via painel, pelo usuário autenticado.
Acredito que o processo executado atualmente em produção, utiliza os mesmos scripts de homologação também.
Sobre o uso dos signals, acredito que essa alternativa vai ser boa pra essa primeira versão. Quando repensarmos o carregamento das proposições pra evitar que sejam recriadas no banco a gente repensa esse fluxo. O que acha?
Entendido, dependendo no futuro a gente pode padronizar o login mesmo.
Acho que eu posso ter me expressado mal ali mesmo, os scripts para homologação e os scripts do make file são coisas diferentes e acho que referenciei como a mesma coisa.
Estudo dos scripts de limpeza e carregamento dos dados de proposições para possibilitar a implementação da autenticação de usuários.