WordPressでSQLite使う際、アップデート・プラグイン導入時の注意

SQLiteって、他のDBよりも明らかに『型』が少ない。
それはもう本当に…。

『想定通り動いていない』とか、『随分レスポンスが遅い』とか、動きに何だか違和感がある場合において、作成されたテーブルにエラーが起きている可能性がある。

wordpressをupdateしたり、pluginをinstallした場合に起きやすいのだが、
SQLの構文エラーが起きて、
通常なら自動的に作られるハズの『テーブルが、出来ていなかった』り、
通常なら自動的に追加されるハズだった『カラムが、追加されていない』
ということが、起こり得る。

導入の直後に極端に不調でも起きるのであれば、何が原因かとか判別しやすいからいい。

だが、これが直後は特にエラーも違和感なく、調子にのって色々入れた後、使ってるうちに何だか調子悪いような気がして「どれだ…?」となってしまうことがしばしば…。

そんな『SQLiteプラグインと相性が悪いか後入れ判断する』際の解決法。

原因を探す

不具合が起きている場合には、対象wordpressの『.sqlite』ファイルがあるディレクトリに『debug.txt』が生成されている。
それを見ると『失敗したSQL』が表示されているので、『実際のテーブル』と照らし合わせる。
これで大体解決するのだが、詳細方法を一応記載しておく。

不足する『テーブル』『カラム』が『ある』場合

『失敗したSQL』と『実際のテーブル』を照らし合わせた際、『カラムがない』『テーブルがない』とかなら『実際のテーブル』にその『無いもの』を追加すれば解決する。
これが一番簡単にどうとでもなる問題。

不足する『テーブル』『カラム』が『無い』場合

無いものが『ない』場合が厄介で、プラグイン毎で対応が変わるので、ここで記載しようがない。
『debug.txt』を見れば、ソース全体から対象SQLを検索すると、プラグインや本体に関連付けられた場所が出てくる。

WordPress内の問題で現時点で確認した物

『wp_commentmeta』テーブルの作成が失敗する場合がある。

『wp_users』テーブルの『display_name』カラムは『text』で作られるが、そのままだと
『Error was no such column』という『型が違うよエラー』が発生する。
『varchar(250)』が推奨の様子。

他にもwordpress本体の関係かもと思ったら『データベース構造 - WordPress Codex 日本語版』を確認することをオススメする。

コメント

タイトルとURLをコピーしました