Forcing InnoDB over MyISAM

More
3 months 4 weeks ago - 3 months 4 weeks ago #156072 by blocka
blocka created the topic: Forcing InnoDB over MyISAM
I'm implementing data encryption at rest with mariaDB, and thus I require that all tables be created as InnoDB, instead of myISAM.

When I activate a survey, the response table is created as myISAM. I can see in MysqlSchema.php that the option for myISAM is hard coded into the createTable function.

While I can hack this of course, it won't persist across a future ComfortUpdate. While I could chattr the file to protect it from updates, it would be preferable if there was a config option to determine which database engine should be used.

The function looks like it could accept options:
public function createTable($table, $columns, $options = null) {
        if(empty($options))
        {
            $options='ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci';
        }


But I don't see where I could set this.

Any ideas?
Last Edit: 3 months 4 weeks ago by blocka.

Please Log in to join the conversation.

More
3 months 3 weeks ago #156320 by olle
olle replied the topic: Forcing InnoDB over MyISAM
Feel free to construct a pull request with this feature.

Please Log in to join the conversation.

Start now!

Just create your account and start using Limesurvey today.

Register now