In order to update cPanel, my webhost has moved us from CENTOS 6 to CENTOS 7 - on a new test server.
They also upgraded us from mySql 5.7.32 to MariaDB 10.3.27
And cPanel 86.0.32 to 90.0.17
I have a VPS contract and am currently paying for TWO serves while we test the new one.
They (webhosts) did a full cPanel copy of my old environment to the new including many databases and a large PHP application.
We're now getting hundreds of errors from the PHP application, but having examined closely they are all of the same type/genre (?)
e.g.
Error filling table mytest1 Incorrect integer value: '' for column `holidayg_PIMS0001`.`mytest1`.`myage` at row 1
From further testing, I have established that regardless of the default set in the database creation, any field in any form that is not filled in (i.e. blank) will fail with an error like the above on all database updates or inserts.
If, we explicitly put a NULL or any other default value into the field in the code just prior to insert or update, then all is OK. But surely that should be unnecessary.
Given that my application has been developed over the past 10 years, some hundreds of thousands of lines of code and hundreds of forms and fields, fixing this as described above is exceedingly onerous. Surely there is a better solution or surely something else is wrong ?
I have also tested this (using the exact same script) on yet another server with MariaDB 10.0.38 where it does not generate these errors.
My question here is where or what do we look for?
(I am inclined to think something went wrong when the server was "copied", but thats a purely intuitive diagnosis - I have no evidence)
They also upgraded us from mySql 5.7.32 to MariaDB 10.3.27
And cPanel 86.0.32 to 90.0.17
I have a VPS contract and am currently paying for TWO serves while we test the new one.
They (webhosts) did a full cPanel copy of my old environment to the new including many databases and a large PHP application.
We're now getting hundreds of errors from the PHP application, but having examined closely they are all of the same type/genre (?)
e.g.
Error filling table mytest1 Incorrect integer value: '' for column `holidayg_PIMS0001`.`mytest1`.`myage` at row 1
From further testing, I have established that regardless of the default set in the database creation, any field in any form that is not filled in (i.e. blank) will fail with an error like the above on all database updates or inserts.
If, we explicitly put a NULL or any other default value into the field in the code just prior to insert or update, then all is OK. But surely that should be unnecessary.
Given that my application has been developed over the past 10 years, some hundreds of thousands of lines of code and hundreds of forms and fields, fixing this as described above is exceedingly onerous. Surely there is a better solution or surely something else is wrong ?
I have also tested this (using the exact same script) on yet another server with MariaDB 10.0.38 where it does not generate these errors.
My question here is where or what do we look for?
(I am inclined to think something went wrong when the server was "copied", but thats a purely intuitive diagnosis - I have no evidence)