Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Bug] Flyway - Migration da tabela "Consulta"

Boa noite, tudo bem?

Estou enfrentando um problema com a migration da tabela consulta. Apresenta o seguinte erro: there is no unique constraint matching given keys for referenced table "medicos".

Não sei se faz diferença mas estou usando o Postgres.

create table consultas(

    id bigint not null,
    medico_id bigint not null,
    paciente_id bigint not null,
    data timestamp not null,

    primary key(id),
    constraint fk_consultas_medico_id foreign key(medico_id) references medicos(id),
    constraint fk_consultas_paciente_id foreign key(paciente_id) references pacientes(id)

);

Entidade Consulta

@Table(name = "consultas")
@Entity(name = "Consulta")
@Getter
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(of = "id")
public class Consulta {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "medico_id")
    private Medico medico;

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "paciente_id")
    private Paciente paciente;

    private LocalDateTime data;

}
2 respostas

Tentei fazer o comando no admin do Postgres e está funcionando Insira aqui a descrição dessa imagem para ajudar na acessibilidade

solução!

Oi Guilherme!

Isso é coisa do Postgresql mesmo. Esse erro acontece porque as chaves estrangeiras estão apontando para uma coluna que não está como unique nas tabelas referenciadas.

Verifica suas tabelas medicos e pacientes, pois a coluna id nelas pode ter sido criada sem a definição de chave primária.