But it works in the test DB



  • A mentally junior coworker creates and debugs a new feature with a new db table in our test environment.

    When done, he commits the code to svn, but doesn't bother to commit the ddl/dml to svn. As such, when migrating it to a preprod test environment, the code gets built, but the table doesn't get created. Naturally, this causes all sorts of table-does-not-exist errors.

    When we track it back to this guy and confront him, he says: But it works in the test DB!



  • @snoofle said:

    mentally junior

    Thanks! Now we have a great new euphemism for "special!" He's not special, he's just a little mentally junior.

    @snoofle said:

    When we track it back to this guy and confront him, he says: But it works in the test DB!

    You did immediately punch him in the face, right?



  • @snoofle said:

    But it works in the test DB!

    snoofle enters, waving a Spiky Cluebat of Deeper Understanding, occasionally letting the tip drop to the floor.

    "Now, Junior... let's riddle me this....."

    *thock*

    "one: it worked in the test DB"

    *thock*

    "two: it DIDN'T work in the live DB"

    *thock*

    "now for the question: why is that?"

    *thock*



  • I put "But it works in the test DB!" in the same category as:

    "But it works in Dev"
    "But it works on my desktop"
    "Impossible I tested it on {environment} and it worked"
    "You are wrong there is no way that it does not work"
    "It is impossible that you got that error message"



  • Boy oh boy, where have i seen this before...



  • Why punch the developer in the face? Wouldn't a simple case of caning (like the one performed in Singapore and Malaysia) do the trick just fine as well?



  • @Anarud said:

    Why punch the developer in the face? Wouldn't a simple case of caning (like the one performed in Singapore and Malaysia) do the trick just fine as well?

    It's a matter of immediate feedback. So, unless Snoofle carries around a cane for this purpose -- which he probably ought to do, come to think of it -- punching, kicking, or the like may have to do.


  • Fake News

    The really old-school way about it would be to challenge the dipshit to a duel.



  • Ha ha! You guys are all so angry about an easily fixable mistake.



  •  I wouldn't call my wife a "fixable mistake"...



  • @Cassidy said:

     I wouldn't call my wife a "fixable mistake"...

     

    But a bunch of 'em would.

     



  • @Anketam said:

    I put "But it works in the test DB!" in the same category as:

    "But it works in Dev"
    "But it works on my desktop"
    "Impossible I tested it on {environment} and it worked"
    "You are wrong there is no way that it does not work"
    "It is impossible that you got that error message"


    Certified: Works on My Machine - got to admit, though, the logo looks a little boring. A lot of people seem to sell t-shirts and stuff, though


  • @frits said:

    Ha ha! You guys are all so angry about an easily fixable mistake.

    This developer's conception on this Earth is not easily fixable. Not without getting arrested, at any rate.

     



  • @frits said:

    Ha ha! You guys are all so angry about an easily fixable mistake.

    It's called "bikeshedding". People like to get worked up over the small things because it's easy; arguing about complex topics is hard.


  • Discourse touched me in a no-no place

    @Anketam said:

    I put "But it works in the test DB!" in the same category as:

    "But it works in Dev"
    "But it works on my desktop"
    "Impossible I tested it on {environment} and it worked"
    "You are wrong there is no way that it does not work"
    "It is impossible that you got that error message"

    "It compiled."


  • @PJH said:

    @Anketam said:

    I put "But it works in the test DB!" in the same category as:

    "But it works in Dev"
    "But it works on my desktop"
    "Impossible I tested it on {environment} and it worked"
    "You are wrong there is no way that it does not work"
    "It is impossible that you got that error message"

    "It compiled."

    "When I tried to compile it, I didn't notice a single error message."


  • Discourse touched me in a no-no place

    @pkmnfrk said:

    @PJH said:
    @Anketam said:

    I put "But it works in the test DB!" in the same category as:

    "But it works in Dev"
    "But it works on my desktop"
    "Impossible I tested it on {environment} and it worked"
    "You are wrong there is no way that it does not work"
    "It is impossible that you got that error message"

    "It compiled."

    "When I tried to compile it, I didn't notice a single error message."

    "It always spews out warnings when it compiles - my changes only added a couple more."



  • @PJH said:

    @pkmnfrk said:
    @PJH said:
    @Anketam said:

    I put "But it works in the test DB!" in the same category as:

    "But it works in Dev"
    "But it works on my desktop"
    "Impossible I tested it on {environment} and it worked"
    "You are wrong there is no way that it does not work"
    "It is impossible that you got that error message"

    "It compiled."

    "When I tried to compile it, I didn't notice a single error message."

    "It always spews out warnings when it compiles - my changes only added a couple more."

    "When I saved the source code, Notepad didn't give me any errors."



  • @snoofle said:

    A mentally junior coworker creates and debugs a new feature with a new db table in our test environment.

    When done, he commits the code to svn, but doesn't bother to commit the ddl/dml to svn. As such, when migrating it to a preprod test environment, the code gets built, but the table doesn't get created. Naturally, this causes all sorts of table-does-not-exist errors.

    When we track it back to this guy and confront him, he says: But it works in the test DB!

    Perhaps talk to management about continuous integration for databases.  The moment he checks in his database changes, a tool compares the old and new version of each database object and generates a deployment script.  This script then immediatly is run against a test environment.  However this still requires hiim to check it in.  RedGate has some tools for this that are pretty cheap.

     At least it would reduce the human presence require in the process.

     



  • @pkmnfrk said:

    @PJH said:
    @pkmnfrk said:
    @PJH said:
    @Anketam said:

    I put "But it works in the test DB!" in the same category as:

    "But it works in Dev"
    "But it works on my desktop"
    "Impossible I tested it on {environment} and it worked"
    "You are wrong there is no way that it does not work"
    "It is impossible that you got that error message"

    "It compiled."

    "When I tried to compile it, I didn't notice a single error message."

    "It always spews out warnings when it compiles - my changes only added a couple more."

    "When I saved the source code, Notepad didn't give me any errors."

    "But that's how Twitter does it.."


  • Discourse touched me in a no-no place

    @morbiuswilters said:

    "But that's how Twitter does it.."
    That's a new one on me morbs - any examples to show us?



  • @PJH said:

    @morbiuswilters said:
    "But that's how Twitter does it.."
    That's a new one on me morbs - any examples to show us?

    He was obviously exaggerating. None of Twitter's API changes have ever been tested.



  • @PJH said:

    @morbiuswilters said:
    "But that's how Twitter does it.."
    That's a new one on me morbs - any examples to show us?

    Referring to things like using a certain technology, framework or architecture. As in: "I can't use Ruby on Rails? But that's how Twitter does it.." or "I'm replacing the entire relational database with message queues because that's how Twitter does it.." or "I can leave out the semicolons if I want to because that's how Twitter does it.."

    The fact that Twitter does something always makes me think twice about doing it myself.



  • Interesting concept.

    I wonder if I can use this paradigm to force wafflers into reducing overly verbose documentation  down to 140 characters or less.



  • @morbiuswilters said:

    @PJH said:
    @morbiuswilters said:
    "But that's how Twitter does it.."
    That's a new one on me morbs - any examples to show us?

    Referring to things like using a certain technology, framework or architecture. As in: "I can't use Ruby on Rails? But that's how Twitter does it.." or "I'm replacing the entire relational database with message queues because that's how Twitter does it.." or "I can leave out the semicolons if I want to because that's how Twitter does it.."

    The fact that Twitter does something always makes me think twice about doing it myself.

    But it's great when you want to get a pet technology in. 90% of the followers fall for "appeal to authority" every time. Sometimes I do it just for fun.



  • @Jaime said:

    @morbiuswilters said:
    @PJH said:
    @morbiuswilters said:
    "But that's how Twitter does it.."
    That's a new one on me morbs - any examples to show us?

    Referring to things like using a certain technology, framework or architecture. As in: "I can't use Ruby on Rails? But that's how Twitter does it.." or "I'm replacing the entire relational database with message queues because that's how Twitter does it.." or "I can leave out the semicolons if I want to because that's how Twitter does it.."

    The fact that Twitter does something always makes me think twice about doing it myself.

    But it's great when you want to get a pet technology in. 90% of the followers fall for "appeal to authority" every time. Sometimes I do it just for fun.

    I do that, too. I usually use Google or Apple (or maybe Facebook if I'm in a pinch). I don't even know if they actually do do the things I tell people they do, but I figure with thousands of employees at least one of them has done the same thing..


Log in to reply