We have moved to GitHub Issues
Created by Brian Powell 30 May 2013, 13:25:21 Updated by Shannon Deminick 18 Dec 2013, 04:31:35
Umbraco 6.1.0 creates a new table called "umbracoServer" to be used with the ServerRegistrationDto object. This table is defined as having two fields, registeredDate and lastNotifiedDate, with default values set to be the current timestamp.
Versions of MySQL before 5.6.5 only allow one field per table to have this configuration (per http://dev.mysql.com/doc/refman/5.6/en/timestamp-initialization.html). People using MySQL with Umbraco will need to have a recent version to do this upgrade. Not sure this is a bug per se, but it should be documented.
Here's the applicable part from the trace from when I tried doing the upgrade on 5.5.24.
2013-05-30 08:34:51,969  INFO Umbraco.Core.DatabaseContext - [Thread 6] Database configuration failed with the following error and stack trace: Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause
at MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
at MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int64& insertedId)
at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
I upgraded to the current MySQL Community 5.6.11. After I did this, I was able to successfully upgrade to Umbraco 6.1.0.
Still, would be nice to have this working on pre-5.6 versions as well, because many shared hosts do not run the latest MySQL-versions. Should be easy to solve either in code or with a trigger on create/updates?
I'd rather see this handled in code than creating triggers.
I agree :)
Sorry about that, someone is marking a bunch of issues as fixed (they're now banned).
Assignee: Shannon Deminick
Backwards Compatible: True
Affected versions: 6.1.0
Due in version: 6.2.0