Dit is geen ActiveRecord- of AREL-probleem, dit is gewoon hoe hoofdlettergevoeligheid werkt in SQL en PostgreSQL.
Identifiers in SQL (zoals tabel- en kolomnamen) zijn niet hoofdlettergevoelig, tenzij ze tussen aanhalingstekens staan. Standaard SQL zegt dat ID's zonder aanhalingstekens naar hoofdletters worden gevouwen, PostgreSQL vouwt ze naar kleine letters, vandaar de bar.maxusers
in de foutmelding.
De oplossing is om de beledigende kolomnaam te citeren:
.having('COUNT(foo.id) > bar."maxUsers"')
Merk op dat u dubbele aanhalingstekens moet gebruiken voor het aanhalen van de identifier, aangezien enkele aanhalingstekens alleen voor letterlijke tekenreeksen zijn. Merk ook op dat identifier-citaten database-specifiek zijn:standaard SQL en PostgreSQL gebruiken dubbele aanhalingstekens, MySQL gebruikt backticks, SQL Server gebruikt haakjes, ...