1.1. Determine the version of your current Tiki | |
You can check by visiting |
If you have 3.x or later | |
You can upgrade directly. Tiki 4.x/5.x/6.x/7x./8.x/9.x/10.x/11.x/12.x include all the database migration scripts to that version. You may wish to manually re-run the installer script for the version you are on, and watch for unexpected errors. |
If you have 1.9.x or 2.x | |
[+]
Tiki 1.9.0 was released on 2005-04-27 so it's unlikely that you still are running one. From 1.9.0 and more recent to any subsequent version (3.x, 4.x, etc): You can upgrade directly. Tiki 3.x/4.x/5.x/6.x/7x./8.x/9.x includes all the database migration scripts from 1.9.0 to that version. You may wish to manually re-run the installer script for the version you are on, and watch for unexpected errors. However, if you are having trouble with a database upgrade of anything prior to 3.0 (so including 1.9 and 2.0, especially if it started life before 1.9) it is recommended you upgrade to 3.x (currently 3.8) first and then to your final version. There is a bug when you upgrade from old versions directly to 9.0 (this is solved in soon-to-be-released 9.1).
If you are upgrading from 1.x releases it is likely that you are also upgrading the version of MySQL. One of the major changes to modern releases of TikiWiki is a change to utf8 encoding. You may experience issues with corrupted text on pages and even the inability to edit pages. One important upgrade step is to skip the default MySQL encoding conversions. If you plan to upgrade by dumping your older MySQL database, moving to a new installation, the restoring the database you may be able to skip Getting out of MySQL Character Set Hell by using the MySQL dump option "--default-character-set=latin1" when dumping the original database. Unless you should also perform the "fix double encoding" step at the very end of the installation unless you change your my.cnf to force utf8 encoding. |
If you have 1.8.x | |
[+]
Tiki 1.8.0 was released on 2004-02-08 so it's highly unlikely that you still are running one. You need to Upgrade 1.8.x to 1.9.y, and then, follow the instructions for a 1.9.x site |
If you have 1.7.x | |
[+]
Tiki 1.7.0 was released on 2003-08-01 so it's highly unlikely that you still are running one. You need to upgrade to 1.8 first: Upgrade 1.7 to 1.8 and then follow the instructions for a 1.8.x site |
If you have 1.6.x or older | |
[+]
You need to run the upgrade scripts for each version, manually or by installing a Tiki of that version. |
Only-changes release files | |
In some cases of new releases (such as 6.3, for instance), you have the option to download and install only the files that have changed (from a compressed file, like: "tikiwiki-inc-6.2-to-6.3.tar.gz"), or to download the full new version (eg. "tikiwiki-6.3.tar.gz"). |
1.2. Fresh install | |
If you are upgrading to a version previous than Tiki 5.1, you can indicate the database information of your previous Tiki install (info in db/local.php). Note for Tiki versions after 5.1 (5.3, 6.0, 9.x, 12.x ...): You are encouraged NOT to manually copy or edit your old local.php into the new site, but let the Tiki installer script (tiki-install.php) create that local.php file when needed in a later step since it will handle properly the former encoding issue for you. Database collation During the upgrade to Tiki 5.1 (or later) through tiki-install.php, Tiki will attempt to do this for you if needed, but in some rare cases Tiki fails to set the collation to utf8, and therefore, you have to do that manually. If the database is already created with latin1 collation, and you want to change that afterwards, you can change the collation through phpmyadmin in the "Operations" tabs once you have selected your database. |
1.3. tiki-install.php to update your database | |
(A) Fresh install | |
On the Note: For upgrades to versions equal or later than 5.1 (5.3, 6.0, ...), you are encouraged to re-set the connection settings, while keeping the "Force utf-8 connection" option checked, and follow the on-screen instructions. For upgrades to earlier branches and versions (like any of the Tiki3 LTS branch), you can alternatively just copy |
(B) Install over existing | |
Then, go to tiki-install.php and click the "upgrade" button, which will update the database. Tiki can read your previous Note: However, for upgrades to versions equal or newer than 5.1 (5.3, 6.0, ...), you are encouraged to re-set the connection settings, while keeping the "Force utf-8 connection" option checked, and follow the on-screen instructions. If the installer was previously locked (which it should be), you will need to unlock it by deleting |
If the installer fails . . . | |
[+]
On some very old versions of tiki it may be possible that the installer will fail, with an error like this . . . Fatal Error: Call to a member function fetchRow() on a non-object in (some path)/installer/schema/(some file name here) on line (some number) This is because perhaps tiki is applying a DB patch to get rid of something that is already gone. Try skipping that file in the upgrade sequence. To do this, you need to insert the filename that produced the error e.g. "20090923_mod_change_directory_defaults_tiki" and a date value (corresponding to the date in the file) as a row in table tiki_schema in your database. Thus the execution of that patch will be skipped by the installer. Try the installer again. You may have to do this with multiple patches. |
If you need to fix the encoding issue | |
Upgrade from previous to 5.1 to 5.1 or newer Either (A) or (B): fix the encoding issue (5.0 or before -> 5.1 or later)Previously to Tiki 5.1, some users might have had a double encoding issue in the database of their Tiki. To ensure that this potential problem is fixed for all, if you are upgrading from a Tiki version equal or earlier than 5.0, into some newer Tiki version (5.1, ...5.x; 6.0, 6.x...), you are encouraged to follow once the three steps to fix the issue by means of the tiki-install.php script. 1.1.1.1. Export existing database from earlier releases (< 6.0)
1.1.1.2. Force connection to utf-8 in db/local.phpBriefly explained above. For the sake of clearness, covered here in detail.
1.1.1.3. Convert database and tables to UTF-8In step 5 of the installation process, you will be offered the option to "Convert database and tables to UTF-8", and you will be also shown the current encoding of your database.
(Note: This step is converting you DB collation to utf-8, and your DB tables to use the utf-8 charset also.) 1.1.1.4. Convert content from your previous encoding to utf-8Finally, you need to convert the content from your existing database (content from wiki pages, etc., but also preferences, which include paths to file and image attachments, like in image galleries, etc.) to utf-8.
Given the nature of this fix, it's best to do some quick verification of the changes. Congratulations! You are done. You can now enter Tiki locking the installer (recommended) or without locking it, and continue using Tiki as normally. If you have any issues, provide feedback through the usual Support channels. |
Alternative: Upgrading your database through shell | |
[+]
Upgrading your database manually through shell (faster than PHPMyAdmin) Note: If you upgrade from a version earlier to Tiki 5.1 to a version of Tiki5.1 or newer, you are encouraged to run at least once the tiki-install.php script as explained above, so that you fix the encoding issue that may exist in your database previous to Tiki 5.1. Assuming you have the command line version of PHP (PHP-CLI), you can simply use the command line version of the installer. Copy to clipboard
For multi-tiki installations, the dev script can be used. PHP-CLI is still required. Copy to clipboard
If you are updating your database this way instead of tiki-install.php, you should clear your cache (which tiki-install.php does) |
1.4. Upgrade your Theme | |
Delete Unused Tables | |
When upgrading, some tables may no longer be used if the related feature has been discontinued. The upgrade script doesn't delete these extra in case users have data in them they want to keep. You can delete the tables manually if you have access to the database on the server. The following tables are no longer used as of Tiki5:
|