PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Coluna camelCase no banco de dados postgresql em trilhos (ActiveRecord)


No Postgres (assim como no padrão ISO/ANSI da linguagem SQL), os nomes dos objetos não diferenciam maiúsculas de minúsculas.

Então objectName é o mesmo que objectname , e você deve levar isso em consideração ao decidir usar nomes em caixa de camelo.

Você pode dizer ao Postgres que deseja usar o nome com distinção entre maiúsculas e minúsculas - basta adicionar aspas duplas ao redor do nome:"objectName" . Tenha em mente que mais tarde você não poderá usar tal objeto como objectName , ele simplesmente tentará encontrar objectname e não vai encontrá-lo, acionando um erro, então o uso de aspas duplas será obrigatório.

Além disso, existem algumas advertências menores ao trabalhar com nomes de objetos entre aspas duplas que diferenciam maiúsculas de minúsculas (por exemplo, \d do psql O comando listará seu objeto assim:"public.objectName" , que não está realmente correto, o nome correto é "public"."objectName" , etc).

Em poucos projetos, eu tinha nomes de tabelas/colunas no estilo camelo e sempre dava um pouco de trabalho, especialmente quando um novo desenvolvedor começava a trabalhar com esse projeto.

Portanto, sugiro usar sempre nomes sublinhados no SQL (object_name ).