私のテーブルはすべてInnoDBに変換しましたが、MySQLサーバー(共有ホスティングの場合はアクセスできない)にはMyISAMがデフォルトとして設定されているため、Wordpressが作成する新しいテーブルはすべて新しいテーブルに追加されます。私のマルチサイトではMyISAMエンジンを使用していますので、手動で変更する必要があります。新しいテーブルを作成するときに、WordpressをInnoDBエンジンを強制するように設定することはできますか。
デフォルトではWordpressは何も指定せず、テーブルでデフォルトのエンジンを使用できるようにしますが、私が追加できるプラグインがあるかどうか疑問に思います。
ENGINE=InnoDB
すべてのCREATE TABLE
クエリに対する句。
新しいテーブルを作成するコードがdbDelta()
を使用している場合(必要がある場合)、クエリをフィルタ処理できます(wp-admin/includes/upgrade.php
を参照)。
add_filter( 'dbdelta_create_queries', function( Array $queries )
{
foreach ( $queries as $table => $query )
{
if ( FALSE !== stripos( $query, 'CREATE TABLE' ) )
{
// change the query here
}
}
return $queries;
});