Activity log for bug #985608

Date Who What changed Old value New value Message
2012-04-19 12:06:30 Michael Wuttke bug added bug
2012-04-19 12:09:18 Michael Wuttke description Hello, I've tried to upgrade a small mahara installation. - operating system: debian squeeze - mahara-version: 1.4.2 -> 1.5.0 - database: mysql 5.1.61 - character set of the database mahara: utf8 and - collation of all the tables of the mahara-database: utf8_unicode_ic My first try was to upgrade mahara via the GUI. For the output of the error-messages please see the discussion in the following forum-thread "problem with upgrade to mahara 1.5": https://mahara.org/interaction/forum/topic.php?id=4474. The secound try was to upgrade over CLI: sudo -u www-data /usr/bin/php ~/mahara/admin/cli/upgrade.php And I've got the following error messages on the terminal client: [INF] 8f (admin/cli/upgrade.php:61) Upgrading Mahara [INF] 8f (lib/mahara.php:231) Upgrading core [DBG] 8f (lib/dml.php:159) mysql error: [1267: Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation '='] in adodb_throw( [DBG] 8f (lib/dml.php:159) UPDATE "block_instance", "artefact" [DBG] 8f (lib/dml.php:159) SET "block_instance".configdata = CONCAT('a:1:{s:10:"artefactid";i:', CAST("artefact".id AS CHAR), ';}') [DBG] 8f (lib/dml.php:159) WHERE [DBG] 8f (lib/dml.php:159) "artefact".artefacttype = 'html' [DBG] 8f (lib/dml.php:159) AND "artefact".note IS NOT NULL [DBG] 8f (lib/dml.php:159) AND "block_instance".blocktype = 'textbox' [DBG] 8f (lib/dml.php:159) AND CAST("block_instance".id AS CHAR) = "artefact".note, ) [DBG] 8f (lib/dml.php:159) Command was: [DBG] 8f (lib/dml.php:159) UPDATE "block_instance", "artefact" [DBG] 8f (lib/dml.php:159) SET "block_instance".configdata = CONCAT('a:1:{s:10:"artefactid";i:', CAST("artefact".id AS CHAR), ';}') [DBG] 8f (lib/dml.php:159) WHERE [DBG] 8f (lib/dml.php:159) "artefact".artefacttype = 'html' [DBG] 8f (lib/dml.php:159) AND "artefact".note IS NOT NULL [DBG] 8f (lib/dml.php:159) AND "block_instance".blocktype = 'textbox' [DBG] 8f (lib/dml.php:159) AND CAST("block_instance".id AS CHAR) = "artefact".note [WAR] 8f (lib/errors.php:749) Could not execute command: [WAR] 8f (lib/errors.php:749) UPDATE "block_instance", "artefact" [WAR] 8f (lib/errors.php:749) SET "block_instance".configdata = CONCAT('a:1:{s:10:"artefactid";i:', CAST("artefact".id AS CHAR), ';}') [WAR] 8f (lib/errors.php:749) WHERE [WAR] 8f (lib/errors.php:749) "artefact".artefacttype = 'html' [WAR] 8f (lib/errors.php:749) AND "artefact".note IS NOT NULL [WAR] 8f (lib/errors.php:749) AND "block_instance".blocktype = 'textbox' [WAR] 8f (lib/errors.php:749) AND CAST("block_instance".id AS CHAR) = "artefact".note Call stack (most recent first): * log_message("Could not execute command: UP...", 8, true, true) at ~/mahara/lib/errors.php:109 * log_warn("Could not execute command: UP...") at ~/mahara/lib/errors.php:749 * SQLException->__construct("Could not execute command: UP...") at ~/mahara/lib/dml.php:161 * execute_sql(" UPDATE {block_instance}, {art...") at ~/mahara/artefact/internal/blocktype/textbox/db/upgrade.php:89 * xmldb_blocktype_textbox_upgrade("2010061800") at ~/mahara/lib/upgrade.php:374 * upgrade_plugin(object(stdClass)) at ~/mahara/lib/db/upgrade.php:2576 * xmldb_core_upgrade("2011061006") at ~/mahara/lib/upgrade.php:301 * upgrade_core(object(stdClass)) at ~/mahara/lib/mahara.php:263 * upgrade_mahara(array(size 8)) at ~/mahara/admin/cli/upgrade.php:62 And after trying to contine the uprade, I've got the message on the web-interface: Could not execute command: ALTER TABLE `group` ADD CONSTRAINT grou_ins_fk FOREIGN KEY (institution) REFERENCES institution (name) Call stack (most recent first): * execute_sql("ALTER TABLE `group` ADD CONSTRAINT grou_ins_fk FOR...") at /var/www/wissensmanagement.beuth-hochschule.de/htdocs/mahara15/lib/dml.php:1395 * execute_sql_arr(array(size 1), true, true) at /var/www/wissensmanagement.beuth-hochschule.de/htdocs/mahara15/lib/ddl.php:1051 * add_key(object(XMLDBTable), object(XMLDBKey)) at /var/www/wissensmanagement.beuth-hochschule.de/htdocs/mahara15/lib/db/upgrade.php:2385 * xmldb_core_upgrade("2011061006") at /var/www/wissensmanagement.beuth-hochschule.de/htdocs/mahara15/lib/upgrade.php:301 * upgrade_core(object(stdClass)) at /var/www/wissensmanagement.beuth-hochschule.de/htdocs/mahara15/admin/upgrade.json.php:94 The solution for me was to change the collations of all the tables: 1. mysqldump -u root --create-options -c -e mahara > /tmp/mahara_db_unicode.sql 2. sed 's/utf8_unicode_ci/utf8_general_ci/g' mahara_db_unicode.sql > mahara_db_general.sql 3. mysql> create database mahara15 character set utf8 collate utf8_general_ci; 4. mysql> use mahara15; 5. mysql> \. /tmp/mahara_db_general.sql & 6. the upgrade on the website http://localhost/mahara/admin/upgrade.php worked well. ;-) Thanx, michael Hello, I've tried to upgrade a small mahara installation. - operating system: debian squeeze - mahara-version: 1.4.2 -> 1.5.0 - database: mysql 5.1.61 - character set of the database mahara: utf8 and - collation of all the tables of the mahara-database: utf8_unicode_ic My first try was to upgrade mahara via the GUI. For the output of the error-messages please see the discussion in the following forum-thread "problem with upgrade to mahara 1.5": https://mahara.org/interaction/forum/topic.php?id=4474. The secound try was to upgrade over CLI: sudo -u www-data /usr/bin/php ~/mahara/admin/cli/upgrade.php And I've got the following error messages on the terminal client: [INF] 8f (admin/cli/upgrade.php:61) Upgrading Mahara [INF] 8f (lib/mahara.php:231) Upgrading core [DBG] 8f (lib/dml.php:159) mysql error: [1267: Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation '='] in adodb_throw( [DBG] 8f (lib/dml.php:159) UPDATE "block_instance", "artefact" [DBG] 8f (lib/dml.php:159) SET "block_instance".configdata = CONCAT('a:1:{s:10:"artefactid";i:', CAST("artefact".id AS CHAR), ';}') [DBG] 8f (lib/dml.php:159) WHERE [DBG] 8f (lib/dml.php:159) "artefact".artefacttype = 'html' [DBG] 8f (lib/dml.php:159) AND "artefact".note IS NOT NULL [DBG] 8f (lib/dml.php:159) AND "block_instance".blocktype = 'textbox' [DBG] 8f (lib/dml.php:159) AND CAST("block_instance".id AS CHAR) = "artefact".note, ) [DBG] 8f (lib/dml.php:159) Command was: [DBG] 8f (lib/dml.php:159) UPDATE "block_instance", "artefact" [DBG] 8f (lib/dml.php:159) SET "block_instance".configdata = CONCAT('a:1:{s:10:"artefactid";i:', CAST("artefact".id AS CHAR), ';}') [DBG] 8f (lib/dml.php:159) WHERE [DBG] 8f (lib/dml.php:159) "artefact".artefacttype = 'html' [DBG] 8f (lib/dml.php:159) AND "artefact".note IS NOT NULL [DBG] 8f (lib/dml.php:159) AND "block_instance".blocktype = 'textbox' [DBG] 8f (lib/dml.php:159) AND CAST("block_instance".id AS CHAR) = "artefact".note [WAR] 8f (lib/errors.php:749) Could not execute command: [WAR] 8f (lib/errors.php:749) UPDATE "block_instance", "artefact" [WAR] 8f (lib/errors.php:749) SET "block_instance".configdata = CONCAT('a:1:{s:10:"artefactid";i:', CAST("artefact".id AS CHAR), ';}') [WAR] 8f (lib/errors.php:749) WHERE [WAR] 8f (lib/errors.php:749) "artefact".artefacttype = 'html' [WAR] 8f (lib/errors.php:749) AND "artefact".note IS NOT NULL [WAR] 8f (lib/errors.php:749) AND "block_instance".blocktype = 'textbox' [WAR] 8f (lib/errors.php:749) AND CAST("block_instance".id AS CHAR) = "artefact".note Call stack (most recent first):   * log_message("Could not execute command:                     UP...", 8, true, true) at ~/mahara/lib/errors.php:109   * log_warn("Could not execute command:                     UP...") at ~/mahara/lib/errors.php:749   * SQLException->__construct("Could not execute command:                     UP...") at ~/mahara/lib/dml.php:161   * execute_sql("                     UPDATE {block_instance}, {art...") at ~/mahara/artefact/internal/blocktype/textbox/db/upgrade.php:89   * xmldb_blocktype_textbox_upgrade("2010061800") at ~/mahara/lib/upgrade.php:374   * upgrade_plugin(object(stdClass)) at ~/mahara/lib/db/upgrade.php:2576   * xmldb_core_upgrade("2011061006") at ~/mahara/lib/upgrade.php:301   * upgrade_core(object(stdClass)) at ~/mahara/lib/mahara.php:263   * upgrade_mahara(array(size 8)) at ~/mahara/admin/cli/upgrade.php:62 And after trying to contine the uprade, I've got the message on the web-interface: Could not execute command: ALTER TABLE `group` ADD CONSTRAINT grou_ins_fk FOREIGN KEY (institution) REFERENCES institution (name) Call stack (most recent first):     * execute_sql("ALTER TABLE `group` ADD CONSTRAINT grou_ins_fk FOR...") at ~/mahara/lib/dml.php:1395     * execute_sql_arr(array(size 1), true, true) at ~/mahara/lib/ddl.php:1051     * add_key(object(XMLDBTable), object(XMLDBKey)) at ~/mahara/lib/db/upgrade.php:2385     * xmldb_core_upgrade("2011061006") at ~/mahara/lib/upgrade.php:301     * upgrade_core(object(stdClass)) at ~/mahara/admin/upgrade.json.php:94 The solution for me was to change the collations of all the tables: 1. mysqldump -u root --create-options -c -e mahara > /tmp/mahara_db_unicode.sql 2. sed 's/utf8_unicode_ci/utf8_general_ci/g' mahara_db_unicode.sql > mahara_db_general.sql 3. mysql> create database mahara15 character set utf8 collate utf8_general_ci; 4. mysql> use mahara15; 5. mysql> \. /tmp/mahara_db_general.sql & 6. the upgrade on the website http://localhost/mahara/admin/upgrade.php worked well. ;-) Thanx, michael
2012-04-19 21:38:47 Richard Mansfield summary upgrade from mahara version 1.4.2 to 1.5.0 fails upgrade to 1.5.0 fails with utf8_unicode_ci collation in mysql
2012-04-19 21:39:06 Richard Mansfield mahara: status New In Progress
2012-04-19 21:39:08 Richard Mansfield mahara: importance Undecided High
2012-04-19 21:39:11 Richard Mansfield mahara: assignee Richard Mansfield (richard-mansfield)
2012-04-19 21:39:13 Richard Mansfield mahara: milestone 1.5.1
2012-04-25 20:22:36 Richard Mansfield mahara: status In Progress Fix Committed
2012-05-07 00:21:18 Melissa Draper mahara: status Fix Committed Fix Released