The problem is not what value but the way it handles NULL values when
the column is set to NOT NULL.
In older versions, NULL or no value set on a date or time or datetime
just becomes 0000-00-00 00:00:00 (or a variation). In 5.7 it errors
saying "this can't be NULL" and just stops.
I've just updated the github issue (121). Thankfully the only place
I've found (after a lot of searching) that breaks are the *_LOG and LOGS
tables (there are some others but the code that deals with them
explicitly sets date/time/datetime values).
The sticking point is I'm not sure how Riv decides what happens with
LOG start/stop dates that are in the past (it obviously was fine with
0000-00-00). More importantly I don't yet know how it purges logs
(again because 0000-00-00 doesn't seem to get purged). Unfortunately,
MySQL v5.7 doesn't let you set a default date as 0000-00-00 (it says
invalid date).
So yeah I'm carefully trying to make changes without breaking stuff.
On 2016-05-31 21:18, Rob Landry wrote:
On Fri, 27 May 2016, Wayne Merricks wrote:
There are quite a few different database issues with Rivendell where
older versions of MySQL implied NULL values or converted NULL dates to
0000-00-00 00:00:00 but with MySQL v5.7 you can't do that any more (at
best 0000-00-00 gives you an invalid date error).
So, if you add a record to a table containing a date field without
specifying a value for that field, what value does MySQL 5.7 assume?
Rob
_______________________________________________
Rivendell-dev mailing list
[email protected]
http://caspian.paravelsystems.com/mailman/listinfo/rivendell-dev