When installing I use a unique database name, not 'tiki'. I imported my old database and ran the installer. At the "Install & Upgrade" screen I chose "Upgrade". I then received a blank page with the following message:
MySQL INFORMATION_SCHEMA not available. Your MySQL version is too old to perform this operation. (upgrade_20120429_fix_collation_tiki)
Looking into the code for 20120429_fix_collation_tiki.php and doing a bit of debugging I found the following line to be causing the error:
if ( $results= $installer->fetchAll('SELECT DISTINCT(TABLE_NAME) FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = ?', $dbs_tiki)
A debug_print_backtrace and a few php print statements later, I determined that the $dbs_tiki variable was being set to 'tiki' when it should have been set to my database name.
I believe the following check-ins are the area of concern:
http://sourceforge.net/p/tikiwiki/code/48422/tree//trunk/installer/installlib.php?diff=48171
http://sourceforge.net/p/tikiwiki/code/45334/tree//trunk/lib/init/initlib.php?diff=44846
From what I can tell the $dbs_tiki value is predefined as 'tiki' by initlib.php and the calling sequence in installlib.php is not correctly setting the database name from local.php.
I made the following changes to get around the issue. I do not know if this meets all the requirements for this function so I can not confirm that these changes are sufficient to correctly fix the issue.
# diff -u tiki-12.0/installer/installlib.php tiki-12.0-fix/installer/installlib.php --- tiki-12.0/installer/installlib.php 2013-11-13 10:45:16.000000000 -0600 +++ tiki-12.0-fix/installer/installlib.php 2014-02-23 13:28:52.765490522 -0600 @@ -133,11 +133,13 @@ } global $dbs_tiki; - $local_php = TikiInit::getCredentialsFile(); - if (empty($dbs_tiki) && is_readable($local_php)) { - require($local_php); - unset($db_tiki, $host_tiki, $user_tiki, $pass_tiki); - } + if (empty($dbs_tiki) ) { + $local_php = TikiInit::getCredentialsFile(); + if (is_readable($local_php)) { + require($local_php); + unset($db_tiki, $host_tiki, $user_tiki, $pass_tiki); + } + } if ( function_exists($standalone) ) { $standalone($this);
To help developers solve the bug, we kindly request that you demonstrate your bug on a show2.tiki.org instance. To start, simply select a version and click on "Create show2.tiki.org instance". Once the instance is ready (in a minute or two), as indicated in the status window below, you can then access that instance, login (the initial admin username/password is "admin") and configure the Tiki to demonstrate your bug. Priority will be given to bugs that have been demonstrated on show2.tiki.org.
To help developers solve the bug, we kindly request that you demonstrate your bug on a show.tikiwiki.org instance. To start, simply select a version and click on "Create show.tikiwiki.org instance". Once the instance is ready (in a minute or two), as indicated in the status window below, you can then access that instance, login (the initial admin username/password is "admin") and configure the Tiki to demonstrate your bug. Priority will be given to bugs that have been demonstrated on show.tikiwiki.org.
filename | created | hits | comment | version | filetype | ||
---|---|---|---|---|---|---|---|
No attachments for this item |