wp_termmetaがない
うちのWordpressはsqliteを使っているが、WordPressが4.4に上がってからどうも調子が悪いので、サーバーログを見てみると案の定エラーが多発している。一番大きかったのは、Error was no such table: wp_termmetaのエラー
とwp_termmetaがない!っのエラー。たぶんデータベース変換時にエラーがかかりこのテーブルを作成できなかったのだろう。WordPress › Support » WordPress 4.4 fatal errorなどをみると、wp_taxonomymetaを変換して作れとなっているが、sqliteではカラム名のリネームができないので、ちょっとやっかい・・・とりあえず無理やりSQLで新規に作って様子をみてみる(こればっかし)。とりあえずエラーログは出てないようだ・・
ちなみにオリジナルはscheme.phpにある
(一部phpが入っているが、気にしない・・)
どうもこのmysql方式のsql文はpdo_sqlite_driver*.phpなどでsqlite形式にrewriteされるようだが、うまく変換できないsqlがあるようだ。以前、無理やり本体のsql文を直したがあれもrewriteされたあとはどうなっているやら・・・
CREATE TABLE wp_termmeta (
meta_id INTEGER PRIMARY KEY AUTOINCREMENT,
term_id INTEGER NOT NULL default '0',
meta_key varchar(255) default NULL,
meta_value text
) ;
$blog_tables = "CREATE TABLE $wpdb->termmeta (
meta_id bigint(20) unsigned NOT NULL auto_increment,
term_id bigint(20) unsigned NOT NULL default '0',
meta_key varchar(255) default NULL,
meta_value longtext,
PRIMARY KEY (meta_id),
KEY term_id (term_id),
KEY meta_key (meta_key($max_index_length))
) $charset_collate;