WordPressのデータベースを入れ替える

WordPressのデータベースを入れ替える

当サイトは一週間前にはてなブログから WordPress に移したばかりなんですが、その移行段階で、あることを忘れていることに気づき、再度移行し直そうかと迷った末、データベースの入れ替えで処理したその顛末です。

01移行の際に忘れていたこと

はてなブログから WordPress に移行する場合は、はてなブログのデータを MT形式で取り出して WordPress にデフォルトで付属しているインポーター「Movable Type と TypePad」を使いますが、このインポーターには、<pre></pre>内のスペースが削除されるというバグがあります。

過去にそのバグの修正の記事を書いているのですが、すっかり忘れており、そのままインポートし、挿入したコードのインデントがなくなってとても読みにくくなってしまいました。そうした記事が三桁にのぼりますのでとても各記事の修正ではおっつかずどうしようかと悩んだということです。

そのバグの記事はこちらです。

なお、はてなブログから WordPress への移行を楽に行うプラグインがあります。

02ConoHa WING の WordPress コピー

サーバーは ConoHa WING を使っています。ConoHa には WordPress コピーというツールがあり、このツールを使いますとサーバー内の WordPress を1クリックで瞬時にサーバー内の別のドメインにコピーすることが出来ます。

これを使えば、と言いますか、はてなブログからの移行では、まず非公開サイトに移行してこのサイトコピーを使って公開サイトを立ち上げていますのでどういうものかはよくわかっているのですが、すでに立ち上げているサイトにこのサイトコピーを使うとどうなるのかにもうひとつ確信が持てません。

ですので、データベースのバックアップをとったりと、いざというときの対処を考えて、よしやってみるかとなったその時、ふと浮かびました。

データベースを入れ替えればいいんじゃないの。

03データベースを入れ替える

サイト直下の wp-config.php がデータベース情報を持っています。

<?php
/**
 * The base configuration for WordPress
 *

略

 *
 * @package WordPress
 */

// ** Database settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'jkliv_********' );

/** Database username */
define( 'DB_USER', 'jkliv_********' );

/** Database password */
define( 'DB_PASSWORD', '************' );

この3行です。これを新しく構築したサイトのデータベースと入れ替えればいいのではないかということです。

で、やってみることにしました。ただひとつ、事前に入れ替え元、後に公開サイトになるデータベースのテーブル wp_options のレコード siteurl と home を公開サイトの url に書き換えておいたほうがよさそうです。

で、やってみました!

問題なく入れ替えたデータベースの変わりました。

まあ、考えてみれば当たり前ではあります。