Fresh install (2.8.3) in a docker container with linked mysql database.
Error in Piwik (tracker): Error query: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'location_provider' in 'field list' In query: INSERT INTO piwik_log_visit (idvisitor, ...
An attempt to deactivate and reactivate "Provider" yields:
There was a problem installing the plugin Provider: SQLSTATE: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IGNORE TABLE `piwik_log_visit` ADD `location_provider` VARCHAR( 100 ) NULL' at line 1 If this plugin has already been installed, and if you want to hide this message</b>, you must add the following line under the [PluginsInstalled] entry in your config/config.ini.php file: PluginsInstalled = Provider
Is there a specific mysql version that is supported (if that is the issue)? On 5.7.5.
I tried to distill the information to only what seemed relevant. Please advise if there is more required.
thanks for report. Im confused and don't know why this query does not work for you:
ALTER IGNORE TABLE piwik_log_visit ADD `location_provider` VARCHAR( 100 ) NULL
maybe something changed in MySQL 5.7.5... anyone else experiencing this issue?
Issue found. See the removed features here: https://dev.mysql.com/doc/refman/5.7/en/mysql-nutshell.html
IGNORE clause for
ALTER TABLE has been removed as of MySQL 5.7.
Consequently, piwik as it is today cannot be installed on MySQL 5.7+. A grep on the codebase yielded the IGNORE clause only in the Updates directory and the Provider plugin. Maybe there's a quick fix?
@tsteur can we maybe remove
IGNORE or work around this, for Mysql 5.7 compat?
I think we can sometimes remove them and sometimes we have to workaround it like this: http://www.tocker.ca/2013/11/06/the-future-of-alter-ignore-table-syntax.html
alter ignore seems to be used quite a few times and I don't know why they are sometimes used and whether there could be actually duplicates
Thanks for looking into it team. I would be satisfied with closing the issue if you want to create a new issue specifically to address MySQL 5.7 support. My needs are met just by rolling back to an older version of MySQL.
@ToBeReplaced feel free to create a new issue for Mysql 5.7 support, cheers
I'm reopening this one as it makes it easier to work on MySQL 5.7 support