Forcing InnoDB over MyISAM

More
4 years 1 month ago - 4 years 1 month ago #156072 by blocka
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: 4 years 1 month ago by blocka.
The topic has been locked.
More
4 years 4 weeks ago #156320 by ollehar
Replied by ollehar on topic Forcing InnoDB over MyISAM
Feel free to construct a pull request with this feature.
The topic has been locked.
More
3 years 3 months ago #167649 by TonisOrmisson
The topic has been locked.
More
2 years 3 months ago #182405 by dday01
Replied by dday01 on topic Forcing InnoDB over MyISAM
Hi,
the is solved?
there are versions that don't have this problem?
The topic has been locked.
More
2 years 3 months ago #182414 by jelo
Replied by jelo on topic Forcing InnoDB over MyISAM

Hi,
the is solved?
there are versions that don't have this problem?


The feature offered by Tonis is not merged into the codebase of LimeSurvey.
You can follow the discussion via the link already posted by Tonis.
github.com/LimeSurvey/LimeSurvey/pull/1043

The meaning of the word "stable" for users
www.limesurvey.org/forum/development/117...ord-stable-for-users
The topic has been locked.

Start now!

Just create your account and start using Limesurvey today.

Register now