データベースをいじったら・・・

WordPress上のブログ記事はデータベース(MySQL)に保存され、すべての記事にはIDが振られて管理されています。そのIDが結構歯抜けになっているのに気づいて、なんとかキレイにしたいと思っていました。サーバーを変更したのを機に、ついに着手しました。

投稿IDの変更は実は簡単ではなく、他のテーブルやレコードで参照されているものもすべて書き換える必要があります。そしてすべての投稿IDを整合性を保ってきちんと書き換えました。パーマリンクにはIDを使ってませんので、URLの変更はありませんし、カテゴリーやタグ、コメントなどちゃんと今まで通りになっているのも確認しました。一部メニュー部分で書き換え忘れた部分もありましたが気づいて直しました。これで完璧に書き換えれたと思っていました。しかし、どうやらそうではなかったようです。

現在自分で気づいている不具合は2点。1つはJetpackのサイト統計情報。個別記事のアクセス情報はIDで管理されていたらしく、統計がどうもおかしなことになっています。自分では直しようがないですし、ビジターの方々には全く影響はないので、もう諦めるしかないです。

もう一つは関連記事。こちらは各投稿のメタ情報内にキャッシュとして関連記事のIDが保存されているのでそこを書き換えればいいのですが、かなりの手間です。おそらくですが、そのうちキャッシュは期限が切れますから、そのうち情報がアップデートされて正しく関連記事を表示してくれるんじゃないかと思っているんですが、どうでしょうか。1ヶ月経っても直らないようなら手作業でやるしかないですかねぇ。

一応データベースのバックアップは取ってあったんですが、もう大丈夫と思って新規投稿をしちゃったんで、ロールバックも出来なくなってしまったのは大失敗でした。

そんなわけで、データベースを直接いじる場合は本当に慎重にやらないといけないという教訓でした。特に投稿IDはいじっちゃいけませんね。ちゃんと連番にしたいというのは単なる自己満足なのは分かっています。歯抜けを直す・起こしたくないなら投稿の直後に確認するなりして大きな影響を及ぼす前にしないとダメでした。起こってしまったことは仕方ないので、今後気をつけていきたいと思います。