"UPDATE table_name SET w = $1, x = $2, z = $4 WHERE y = $3 RETURNING *",

does not do the same as

"UPDATE table_name SET w = $1, x = $2, y = $3, z = $4 RETURNING *",

It’s 2 am and my mind blanked out the WHERE, and just wanted the numbers neatly in order of 1234.

idiot.

FML.

  • marcos@lemmy.world
    link
    fedilink
    arrow-up
    64
    ·
    1 年前

    And a development environment. And not touch production without running the exact code at least once and being well slept.

        • snail_hatan@lemmy.ml
          link
          fedilink
          arrow-up
          4
          ·
          1 年前

          Totally right! You must set yourself up so a fool can run in prod and produce the expected result. Which is the purpose of a test env.

      • snail_hatan@lemmy.ml
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        1 年前

        Replied hastily, but the way to run db statements in prod while dealing with sleep deprivation and drinking too much is to run it a bunch in several test env scenarios so you’re just copy pasting to prod and it CAN confidently be done. Also enable transactions and determine several, valid smoke tests.

        Edit: a -> several