I guess I'll add context since I've been "well akschually'd".
There was time planned for this in that we were updating MariaDB and we had estimated extra time for unforeseen problems.. The defaults changed to strict, I realized we had severe data integrity problems and as the senior developer on the team I made the decision to turn off strict mode in production and turn it on in QA and our dev environments so we can prioritize the integrity of the data.
This is literally my job as a senior developer. If this is not what a senior developer is for in most companies, it goes back to what I said before about not being built for such environments. I made a judgement call here, and I'll continue to defend that judgement call as me doing my damned job.
Maybe in your world data integrity sits behind the newest dropdown on the UI, but not in mine.
But the thing is, everyone was ok with it until about a week later when this VP sent it down the line that I was to be reprimanded for "behavioral" problems because they mistook me asking questions as me not wanting to do the work.
And I got reprimanded, and then the QA environment wasn't changed because this reprimand was insisted on by a VP, my direct manager was forced to do it, and then ignored it afterwards.
I'd rather go back to working for myself than to deal with this shit.
edit: as for why strict mode wasn't on before, this application was developed by an incompetent. To give an example of the level of skill that built this app.
I once came across code the following (psuedocode):
foreach(object)
sql += generate_insert_statement(object).
$parts = split("INSERT INTO", sql);
foreach(part from parts):
sql = "INSERT INTO" + part;
do_query(sql)
I've been tempted to send in submissions to the daily WTF on more than 1 occasion.