Nesta resposta do SO: PostgreSQL: nomes de restrições padrão
Parece que minha chave estrangeira (não nomeada no momento da criação da tabela) deveria ter assumido o sufixo _fkey
... Mas parece que, _foreign
em vez disso, assumido o sufixo. Isso é normal?
Estou preocupado em criar uma migração onde eu assumo o nome da restrição e ela funciona no meu ambiente e depois falha em todos os outros lugares...
Existe uma maneira de garantir que eu referencie a restrição corretamente em qualquer ambiente?
Atualizado com informações:
versão posgres: 16.4
cliente que criou a chave: knex
O comando FK completo usado:
table.foreign('userId').references('users.id')
psql com \d:
Sinto muito, mas não tenho permissão para postar código da nossa base de código, então aqui está com as redações:
Indexes:
"***_pkey" PRIMARY KEY, btree (id)
"***" UNIQUE CONSTRAINT, btree ("***Id", "***Id")
Foreign-key constraints:
"***_***id_foreign" FOREIGN KEY ("***Id") REFERENCES ***(id)
"***_userid_foreign" FOREIGN KEY ("userId") REFERENCES users(id) <=== the column of interest