Comment by evanelias

11 hours ago

Sure, it depends on the circumstances of the project and company. If your company has software written in multiple languages interacting with the same database, then you're not all going through the same ORM and things like this can be problematic. That means it's useful to have a policy of "all identifiers should be lowercase", and the linter helps enforce that.

Or if you ever need to port software to multiple DBMS instead of just Postgres, then having mixed-case names is especially a minefield, since each DBMS handles this differently and very few handle things per the SQL standard in this particular area.

It's admittedly a slightly niche linter rule, and in my own schema management software (which includes a linter) I have this rule default to being disabled.

As a side note though, it's honestly a red flag when an ORM uses mixed-case names by default. Normally one benefit of ORMs is that they help with multi-DBMS portability, but this design choice absolutely does the opposite.