Which One Is for Production?
Better make sure...especially when you're working with credit card information.
- By Byron Sisson
At my first job as a DBA and developer, I was working on an application designed to automatically charge credit cards. I was provided with a set of credit-card numbers to use for testing.
I edited some customer records in the development database to use the test numbers and submitted charges to the bank to test the application. However, I failed to change the connection string to point to the development database, so I was running up some huge bills on a few customer accounts before I caught my mistake. I contacted the bank and got them to back the charges out before they went through or appeared on anyone's statements, but I never heard if I obligated enough credit that anyone had real transactions declined.
I was saved by the fact that I immediately recognized my error. The development database was simply a restored backup of the production database and our volume was low enough so that the credit-card information was unchanged since the backup was made. I was able to update the production data from the development database.
The moral of the story? Always double-check when switching between development and production data. Always keep current backups of data, and never, ever let a rookie DBA be the sole DBA and developer on any project.
The good thing that came out of all this for me was I didn't do any permanent damage and it made me extremely gun-shy very early in my career.
Byron Sisson is an IT professional from Orlando, Fla.