Skip to content

[Bug]: conflito de schema entre os serviços de Rails (Auth/CRM) e o serviço de Python (Processor) #79

@psoliveira80

Description

@psoliveira80

Description

O erro encontrado é um conflito de schema entre os serviços de Rails (Auth/CRM) e o serviço de Python (Processor). Eles estão tentando criar a mesma tabela no mesmo banco de dados.

Image

1. Onde está o erro (Localização no Repositório)

O conflito ocorre entre estes dois arquivos:
Serviço Processor (Python): evo-ai-processor-community/migrations/versions/26a14ac7025d_.py (linhas 41-55).
Serviço Auth/CRM (Rails): evo-auth-service-community/db/schema.rb (linhas 528-538).

2. Descrição Técnica do Problema

O script de setup (setup.sh) executa primeiro as migrações do Rails (db:prepare). O Rails possui em seu schema a definição da tabela evo_agent_processor_execution_metrics e a cria no banco de dados.

Logo em seguida, o container do Processor tenta iniciar e executa o comando alembic upgrade head. Como a migração do Alembic (26a14ac7025d_.py) também tenta criar a tabela evo_agent_processor_execution_metrics, o PostgreSQL retorna o erro:

sqlalchemy.exc.ProgrammingError: ... relation "evo_agent_processor_execution_metrics" already exists

3. Por que isso acontece mesmo apagando os volumes?

Mesmo com o banco vazio, o processo de instalação segue esta ordem:

Rails cria a tabela.
Python (Alembic) tenta criar a mesma tabela e falha.

Sugestão de correção para a Issue:
A correção ideal seria remover a criação dessa tabela de um dos dois serviços (preferencialmente do Rails, se o Processor for o dono desse dado) ou marcar a migração do Alembic para ignorar se a tabela já existir. Além disso, notei que no Rails existem duas tabelas quase idênticas: evo_agent_processor_execution_metrics e evo_ai_agent_processor_execution_metrics, o que sugere uma inconsistência de nomenclatura entre os sub-módulos.

Affected Service

CRM Service (evo-ai-crm-community)

Steps to Reproduce

docker compose up --build

Expected Behavior

Remoção da tentativa de criação em duplicidade

Actual Behavior

Falha na criação dos containers.

Environment

  • OS:
  • Docker version:
  • Browser:

Screenshots

No response

Relevant Logs

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions