sql >> Databáze >  >> RDS >> PostgreSQL

Jak používat Rails s velkým názvem sloupce?

Toto není problém ActiveRecord nebo AREL, takhle funguje rozlišování malých a velkých písmen v SQL a PostgreSQL.

Identifikátory v SQL (jako jsou názvy tabulek a sloupců) nerozlišují malá a velká písmena, pokud nejsou uvedeny v uvozovkách. Standardní SQL říká, že identifikátory bez uvozovek jsou složeny na velká písmena, PostgreSQL je složí na malá písmena, proto bar.maxusers v chybové zprávě.

Řešením je uvést problematický název sloupce:

.having('COUNT(foo.id) > bar."maxUsers"')

Všimněte si, že pro citování identifikátoru musíte použít dvojité uvozovky, protože jednoduché uvozovky jsou pouze pro řetězcové literály. Všimněte si také, že citování identifikátorů je specifické pro databázi:standardní SQL a PostgreSQL používají dvojité uvozovky, MySQL používá zpětné zaškrtnutí, SQL Server používá závorky, ...




  1. Tabulka nebo pohled Oracle DB neexistuje

  2. purpurová stránka pro produkty vhodná pro tisk

  3. JPA a Hibernate inicializují Non Lazy Collections Chyba

  4. Entity Framework Core postgresql Mapování typu pole nefunguje