• erogenouswarzone@lemmy.ml
    link
    fedilink
    English
    arrow-up
    19
    arrow-down
    1
    ·
    8 months ago

    The place I work decided to name all tables in all caps. So now every day I have to decide if I want to be consistent or I want to have an easy life.

    • xmunk@sh.itjust.works
      link
      fedilink
      arrow-up
      11
      ·
      8 months ago

      Fuuuuck. That’s why I love postgres… and fuck anyone that requires double quoted identifiers for special casing.

      • icydefiance
        link
        fedilink
        arrow-up
        6
        ·
        edit-2
        8 months ago

        Postgres normalizes table and field names to lowercase, unless you put them in quotes. It’s also case sensitive.

        That means if you use quotes and capital letters when creating the table, then it’s impossible to refer to that table without using quotes.

        It also means if you rename the table later to be all lowercase, then all your existing code will break.

        Still a much better database than MySQL though.

        • xmunk@sh.itjust.works
          link
          fedilink
          arrow-up
          2
          ·
          8 months ago

          I’m quite aware… basically it means that novice devs can create a table in camelCase and query in camelCase… but you can clean it all up as long as they didn’t realize you needed double quotes.

          • icydefiance
            link
            fedilink
            arrow-up
            2
            ·
            edit-2
            8 months ago

            Fair point. I always disliked the design because ORMs pretty much always use quotes, so an entity-first approach can create a lot of tables with capital letters if you’re not careful, which is then really annoying if you need to use raw SQL for anything.