4 ms·
I did not realize it until I picked up Postgres. Author forgot to mention that postgres has transactions on DDL statements! Thats right, creating/altering tabl
by dlikhten 15y ago
I did not realize it until I picked up Postgres.
Author forgot to mention that postgres has transactions on DDL statements! Thats right, creating/altering tables is fully transactional, oracle doesn't even do that.
- burke 15y agoThis is my favourite selling point for Ruby on Rails developers. Rails tends to shield you from the database quite a lot, but most everyone's been burned at some point by a database migration that failed halfway through.
- dlikhten 15y agoRails only? That is a burn point at any time. God help you if a prod script fails mid-way. Your well-intentioned plans get thrown out the window as you are in an inconsistent state. In prod. Means basically an extra 3 hrs for us to clone prod run script as a smoke test, if it works, run on prod and hope.
- burke 15y agoYeah, I didn't mean to imply it's Rails only, just that this is the one killer feature that Rails developers tend to be swayed by.
- dlikhten 15y agoNice. I'd assume a killer feature would be "it does not follow defensive programming thus ensuring you don't ignore bugs until the shit hits the fan, thus catching them easily during dev time" But this works too. I seen someone make the most horrendous query that barely worked in some cases, yet mysql accepted it. It was invalid sql.