Loading...
 
Skip to main content

InnoDB

 Added to Tiki 8
InnoDB has been added to Tiki 8 as experimental, and became the default in Tiki18.


The rest of this page is only kept for posterity.

Introduction

[+]

Wishes

Open

Pending

Fixed


Interested community members

No records found

Database upgrades

When adding an engine dependent patch, the engine independent SQL must be put in the YYYYMMDD_description_tiki.sql file. The engine dependent parts must be put in an accompanying php file, specifying a post_YYYYMMDD_description_tiki function.
Example: Add a table with a fulltext index

20110918_tiki_test_tiki.sql
Copy to clipboard
DROP TABLE IF EXISTS `tiki_test`; CREATE TABLE `tiki_test` ( `title` varchar(255) default NULL, KEY `title` (`title`) ) ENGINE=MyISAM;

and a PHP file specifying the engine dependent part

20110918_tiki_test_tiki.php
Copy to clipboard
function post_20110918_tiki_test_tiki( $installer ) { if($installer->isMySQLFulltextSearchSupported()) { $installer->query( "CREATE FULLTEXT INDEX ft_test ON tiki_test(`title`);"); } }

ToDo

If the config search "Preference Filters" is set to Advanced, "MySQL Full-Text Search" is still displayed in the results. It shouldn't be.

Migrating existing databases to InnoDB

Migration steps

  1. Make sure InnoDB is integrated in the standard/SVN Tiki release. Otherwise you may be unable to do any upgrades later.
  2. Do a full backup of your current database/installation
  3. Upgrade to the latest Tiki version (8.0 SVN or later).
  4. Disable MySQL fulltext search in Tiki. It's not supported by InnoDB, and you won't be able to disable it from the GUI after the conversion
  5. Drop all MyISAM fulltext indexes
  6. Alter the database engine for all tables to InnoDB


Steps 5 and 6 are defined in the file db/tiki_convert_myisam_to_innodb.sql.

To be tested

  • TRIM (would be nice that it works here too...)