automatiza-mg / aura

Repositório dedicado à construção de um sistema de gestão e monitoramento dos projetos do Automatiza.MG, denominado Aura - Automatização Unificada de Rotinas e Atividades.
0 stars 1 forks source link

To do: Melhorias SIMA #13

Open raianecardoso opened 1 month ago

raianecardoso commented 1 month ago
raianecardoso commented 1 month ago

Webnar 09.ago.2024 - Feedback equipe

To Do

Backlog

raianecardoso commented 1 month ago

Lembrar que ao fazer cada alteração, é necessário rodar as migrações para que as alterações sejam reproduzidas no banco. Ou seja:

  1. pull
  2. roda migrações task migrate
  3. Altero documento
  4. Confere com o servidor ligado
  5. Fazer migrações (task makemigrations // task --list)
  6. Migrar (task migrate)
  7. Commit
  8. push na branch de melhorias
gabrielbdornas commented 1 month ago
  • Erro 500 do servidor;

@raianecardoso, para o teste tanto na aws quanto em nosso servidor local, seria interessante utilizarmos docker e docker-compose[^1]. Achei este tutorial[^2] bem interessante para descobrirmos como.

Hoje tivemos uma reunião com pessoal da Subdigital na qual ficou alinhado a utilização do contrato da Microsoft para criação de VMs na Azure. Assim que voltar de férias vou tentar resolver este problema, de maneira definitiva, em uma máquina dessas.

[^1]: Assim ficaria mais fácil de levantar a aplicação e o banco de uma vez só.

[^2]: Repo GitHub

gabrielbdornas commented 1 week ago

@raianecardoso, pensando em dar um gás no SIMA essa semana de retorno das férias. Alguma novidade nessas 3 semanas?

raianecardoso commented 1 week ago

Erro encontrado

Ao alterar uma FK na tabela de pedido de imersão, encontrei esse erro quando rodei o comando task migrate.

(venv) ➜  sima git:(to-do-melhorias) ✗ task migrate
Traceback (most recent call last):
  File "/Users/raianecardoso/Documents/code/automatiza-mg/sima/venv/lib/python3.10/site-packages/django/db/backends/base/base.py", line 275, in ensure_connection
    self.connect()
  File "/Users/raianecardoso/Documents/code/automatiza-mg/sima/venv/lib/python3.10/site-packages/django/utils/asyncio.py", line 26, in inner
    return func(*args, **kwargs)
  File "/Users/raianecardoso/Documents/code/automatiza-mg/sima/venv/lib/python3.10/site-packages/django/db/backends/base/base.py", line 256, in connect
    self.connection = self.get_new_connection(conn_params)
  File "/Users/raianecardoso/Documents/code/automatiza-mg/sima/venv/lib/python3.10/site-packages/django/utils/asyncio.py", line 26, in inner
    return func(*args, **kwargs)
  File "/Users/raianecardoso/Documents/code/automatiza-mg/sima/venv/lib/python3.10/site-packages/django/db/backends/postgresql/base.py", line 277, in get_new_connection
    connection = self.Database.connect(**conn_params)
  File "/Users/raianecardoso/Documents/code/automatiza-mg/sima/venv/lib/python3.10/site-packages/psycopg2/__init__.py", line 122, in connect
    conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
psycopg2.OperationalError: connection to server at "aws-0-sa-east-1.pooler.supabase.com" (15.229.150.166), port 6543 failed: FATAL:  Tenant or user not found
connection to server at "aws-0-sa-east-1.pooler.supabase.com" (15.229.150.166), port 6543 failed: FATAL:  Tenant or user not found

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/raianecardoso/Documents/code/automatiza-mg/sima/manage.py", line 22, in <module>
    main()
  File "/Users/raianecardoso/Documents/code/automatiza-mg/sima/manage.py", line 18, in main
    execute_from_command_line(sys.argv)
  File "/Users/raianecardoso/Documents/code/automatiza-mg/sima/venv/lib/python3.10/site-packages/django/core/management/__init__.py", line 442, in execute_from_command_line
    utility.execute()
  File "/Users/raianecardoso/Documents/code/automatiza-mg/sima/venv/lib/python3.10/site-packages/django/core/management/__init__.py", line 436, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/Users/raianecardoso/Documents/code/automatiza-mg/sima/venv/lib/python3.10/site-packages/django/core/management/base.py", line 413, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/Users/raianecardoso/Documents/code/automatiza-mg/sima/venv/lib/python3.10/site-packages/django/core/management/base.py", line 459, in execute
    output = self.handle(*args, **options)
  File "/Users/raianecardoso/Documents/code/automatiza-mg/sima/venv/lib/python3.10/site-packages/django/core/management/base.py", line 107, in wrapper
    res = handle_func(*args, **kwargs)
  File "/Users/raianecardoso/Documents/code/automatiza-mg/sima/venv/lib/python3.10/site-packages/django/core/management/commands/migrate.py", line 100, in handle
    self.check(databases=[database])
  File "/Users/raianecardoso/Documents/code/automatiza-mg/sima/venv/lib/python3.10/site-packages/django/core/management/base.py", line 486, in check
    all_issues = checks.run_checks(
  File "/Users/raianecardoso/Documents/code/automatiza-mg/sima/venv/lib/python3.10/site-packages/django/core/checks/registry.py", line 88, in run_checks
    new_errors = check(app_configs=app_configs, databases=databases)
  File "/Users/raianecardoso/Documents/code/automatiza-mg/sima/venv/lib/python3.10/site-packages/django/core/checks/model_checks.py", line 36, in check_all_models
    errors.extend(model.check(**kwargs))
  File "/Users/raianecardoso/Documents/code/automatiza-mg/sima/venv/lib/python3.10/site-packages/django/db/models/base.py", line 1617, in check
    *cls._check_constraints(databases),
  File "/Users/raianecardoso/Documents/code/automatiza-mg/sima/venv/lib/python3.10/site-packages/django/db/models/base.py", line 2467, in _check_constraints
    connection.features.supports_nulls_distinct_unique_constraints
  File "/Users/raianecardoso/Documents/code/automatiza-mg/sima/venv/lib/python3.10/site-packages/django/utils/functional.py", line 47, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/Users/raianecardoso/Documents/code/automatiza-mg/sima/venv/lib/python3.10/site-packages/django/db/backends/postgresql/features.py", line 141, in is_postgresql_15
    return self.connection.pg_version >= 150000
  File "/Users/raianecardoso/Documents/code/automatiza-mg/sima/venv/lib/python3.10/site-packages/django/utils/functional.py", line 47, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/Users/raianecardoso/Documents/code/automatiza-mg/sima/venv/lib/python3.10/site-packages/django/db/backends/postgresql/base.py", line 438, in pg_version
    with self.temporary_connection():
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/contextlib.py", line 135, in __enter__
    return next(self.gen)
  File "/Users/raianecardoso/Documents/code/automatiza-mg/sima/venv/lib/python3.10/site-packages/django/db/backends/base/base.py", line 691, in temporary_connection
    with self.cursor() as cursor:
  File "/Users/raianecardoso/Documents/code/automatiza-mg/sima/venv/lib/python3.10/site-packages/django/utils/asyncio.py", line 26, in inner
    return func(*args, **kwargs)
  File "/Users/raianecardoso/Documents/code/automatiza-mg/sima/venv/lib/python3.10/site-packages/django/db/backends/base/base.py", line 316, in cursor
    return self._cursor()
  File "/Users/raianecardoso/Documents/code/automatiza-mg/sima/venv/lib/python3.10/site-packages/django/db/backends/base/base.py", line 292, in _cursor
    self.ensure_connection()
  File "/Users/raianecardoso/Documents/code/automatiza-mg/sima/venv/lib/python3.10/site-packages/django/utils/asyncio.py", line 26, in inner
    return func(*args, **kwargs)
  File "/Users/raianecardoso/Documents/code/automatiza-mg/sima/venv/lib/python3.10/site-packages/django/db/backends/base/base.py", line 274, in ensure_connection
    with self.wrap_database_errors:
  File "/Users/raianecardoso/Documents/code/automatiza-mg/sima/venv/lib/python3.10/site-packages/django/db/utils.py", line 91, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File "/Users/raianecardoso/Documents/code/automatiza-mg/sima/venv/lib/python3.10/site-packages/django/db/backends/base/base.py", line 275, in ensure_connection
    self.connect()
  File "/Users/raianecardoso/Documents/code/automatiza-mg/sima/venv/lib/python3.10/site-packages/django/utils/asyncio.py", line 26, in inner
    return func(*args, **kwargs)
  File "/Users/raianecardoso/Documents/code/automatiza-mg/sima/venv/lib/python3.10/site-packages/django/db/backends/base/base.py", line 256, in connect
    self.connection = self.get_new_connection(conn_params)
  File "/Users/raianecardoso/Documents/code/automatiza-mg/sima/venv/lib/python3.10/site-packages/django/utils/asyncio.py", line 26, in inner
    return func(*args, **kwargs)
  File "/Users/raianecardoso/Documents/code/automatiza-mg/sima/venv/lib/python3.10/site-packages/django/db/backends/postgresql/base.py", line 277, in get_new_connection
    connection = self.Database.connect(**conn_params)
  File "/Users/raianecardoso/Documents/code/automatiza-mg/sima/venv/lib/python3.10/site-packages/psycopg2/__init__.py", line 122, in connect
    conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
django.db.utils.OperationalError: connection to server at "aws-0-sa-east-1.pooler.supabase.com" (15.229.150.166), port 6543 failed: FATAL:  Tenant or user not found
connection to server at "aws-0-sa-east-1.pooler.supabase.com" (15.229.150.166), port 6543 failed: FATAL:  Tenant or user not found

Ao que tudo indica, este comando estava tentando acessar o meu banco de dados em produção para aplicar as migrações.

Resolução

Após usar a ipbd para debugar, foi identificado que o terminal do VS code não está operando adequadamente. Utilizar outro terminal.

( DEBUG=TRUE -> estava sendo lido como FALSE. O mesmo projeto na máquina do Gabriel estava funcionando)

gabrielbdornas commented 6 days ago

@raianecardoso, dei uma limpada gigantesca nas tabelas. Não briga comigo, mas fiz uma coisa muito feia e injustificada (por favor nunca repita isso), mas fiquei com preguiça e fiz um mega commit!. Acho que segunda (16/09/2024) poderíamos tentar fazer o cadastro do projeto da scap no local para ajustes finais.

Depois que vc der um pull na branch, apaga seu banco e roda task migrate. O resto será só alegria!

Achei que ficou bem legal viu!

raianecardoso commented 3 days ago

@gabrielbdornas, arrasou!

Fiz alguns teste e identifiquei algumas melhorias, que foram listadas abaixo. No mais, acho que a gente precisa revisar o kitt e repensar em algumas situações não previstas, como (i) demandante não responde ao nosso contato; (ii) demandante responde que não precisa de apoio: sem alterações fase analisado e status não atendido. (iii) como identificar projetos na fila: para este não existirá o projeto.

To do:

raianecardoso commented 5 hours ago