Ranter
Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Comments
-
No such thing as database agnostic - typically you define a few supported databases and make sure it works on that subset. It sounds like there are more WTF's in this environment than working via remote desktop. Like how did code written for MySQL in dev but running on PostgreSQL in production even get past QA? Is QA also running MySQL? If so, why are they not testing the production configuration? If you don't have QA, that's fine too - why are there not integration tests that test the database interactions on all the supported databases?
-
Even if they didn't want to run a production matching environment locally... is there nothing between your local machine and prod? No test environment? It seems like that would be easier than a remote desktop...
-
@BluePanda there's no prod yet as the whole thing is still in dev. There are test environments which are set to be as close to prod as possible.
-
@unsignedint it's a bit confusing by definitely WTFs. DB agnostic is, if I'm not dumb, one of initial requirements (since we use JPA and it sounds promising we can do that without much effort). So we all began by using our favourite DBMS. That's how MySQL got in. Why PostgreSQL is chosen? That's not a dev's decision but rather from the dev op team who are responsible for deployment. That is totally okay. QA is chasing us to start their work... It's a new product so we're not there yet. Let's say QA is not in the equation for now but they do bug us with concerns here and there.
Oh and the deadline from utopia... I'm sure everyone here understands the frustration. -
In short, we devs fell for the trap "db agnostic". It sounds like "use whatever db you like" but really it's "support whatever db'... Fucking hell
-
devs30756yThat’s what ORMs are for. Then you can change database system by simply changing a few lines of code, and syntax is the same no matter if you’re using MySQL, Postgres, mssql or whatever
-
@devs yep that's what we thought. But there are differences in them. The one we had was sorting. I was not involved too much in the particular issue. What I heard is MySQL and PostgreSQL sorts symbols differently... And if you ask me, that's not important as long as within the same DBMS it's consistent. But that freaked people out for some reason, and thus "workspace" was brought up.
Just learned that yesterday someone suggested putting the dev team on "workspace", when I was on leave.
My first question, "what the hell is workspace?"
"It's a remote environment..."
Okay I get it. Are you kidding me? Doing development on remote desktop?
My second question, "Why the hell did someone suggest that?"
"We have had issues with devs using MySQL but the target prod will be using PostgreSQL. That caused issues, inconsistencies... And we found some issues after deployment."
Okay so much for DB agnostic. I called it out that everyone now install PostgreSQL on local. Problem solved, hopefully.
Why we had MySQL in the first place? Yes DB agnostic is one of the reason. The other being I'm more familiar with MySQL so it's quicker to perform tasks (like "can you clone that environment for me" and "can you fix the data on XYZ"). But that's trivial.
Just some ridiculous suggestion that set me off.
devrant