2005年10月10日(月)
SQLiteへの移行方法
MovableType-3.2jaの不具合を回避するために、BerkleyDBから SQLiteに移行しましたが、参考までに移行した方法を記します。環境は、さくらインターネットのレンタルサーバ(ライト)で、既に MT-3.2jaがインストールされ、動作している前提です。
※くれぐれも、バックアップは念入りにとってくださいね。ここに書いた方法で、全ての環境での移行は保証できませんし、成功するとは限りませんので・・・くれぐれも自己責任でお願いいたします。
(1) SQLite用の dbディレクトリを作る
MTがインストールされているディレクトリに、db-sqlite というディレクトリを作成(中は空でいいです。ディレクトリ名は好きな名前でOKです)。BerkleyDB用は、デフォルトでは db になっていると思います。
(2) SQLite用の記述をオンにする
mt-config.cgiの中の、下記の SQLite用の記述のコメントを外してオンにし、先ほど作成したディレクトリ名とファイル名を記述します(BerkleyDBの記述は、まだコメントアウトせず、活かしておかないといけません)。
ObjectDriver DBI::sqlite
Database (MTのインストールディレクトリ/db-sqlite/dbfile
※dbfile というのは、ファイル名です。このファイル名で SQLiteの DBを作成するようです(この時点では存在していなくても大丈夫です。変換時に作成されます)。
※ここで一度ポカやりました_| ̄|○ ファイル名を指定せず、先ほど作成したディレクトリ名で終わらせていたら、
Database (MTのインストールディレクトリ/db-sqlite ←最初はこうしてた
「DBファイルが変ジャン」と言われて先に進めませんでした。ちゃんとファイル名を指定しないとダメでした。
(3) 移行実行
(MTのインストールディレクトリ)/mt-db2sql.cgi を実行します。ちょっとガクガクブルブルです。ここで何か聞いてくるかな?と思っていたのですが、有無を言わさず実行されました。うおー、と思いましたが、画面には移行している対象がどどーっと表示されているので、ちょっと安心します。ただし、エントリ数が多いとかなり時間がかかるので、タイムアウトしないかとヒヤヒヤしました。が、私の環境では見事成功!
(4) mt-config.cgiの修正
ここで、SQLiteの DBが作成されているかどうかを確認します。先ほど作成した db-sqliteの中に、dbfileというそれらしいサイズのファイルができていれば、たぶん大丈夫です。ここで、DBの対象を切り替えるため、mt-config.cgiを修正します。BerkleyDB用の記述、
DataSource (MTのインストールディレクトリ)/db
をコメントアウトします。まだ、この BerkleyDBのファイルは消さない方がよいです。これで、使用する DBは SQLiteになりました。
(5) ログインしてみる
ここで、恐る恐るログインしてみます。見事、ログインに成功できて、これまでのエントリがちゃんと見えていたら、SQLiteで無事動作しています。もし、ログイン時に初期化されてしまっていたら、逆に (2)をコメントアウトして、(4)のコメントを外して、元に戻してみます(ここで戻れるかどうかの保証はできません。環境にもよりますし・・・)。無事動作したら、BerkleyDB用のファイルを消すも消さぬも、思いのまま。
ということで、かなりドキドキものの作業ではありますが、成功した時の喜びはひとしおです(?)。
2005.10.10 17:25 | blog | この記事 | コメント (0) | トラックバック (2)
トラックバック
このエントリーのトラックバックURL:
http://www.atrec.net/cgi-bin/mt4/metal-tb.cgi/527
このリストは、次のエントリーを参照しています: SQLiteへの移行方法:
» MTをSQLiteへ移行 from ヤマセン仙北果樹園 新つづら書き
このブログはMovableTypeをレンタルサーバ(Xrea.com)で運用しています。10/26にバーションを3.171から3.2ja2にしましたが、... [続きを読む]
トラックバック時刻: 2005年11月 6日 20:21
» MTをSQLiteへ移行 from ヤマセン仙北果樹園 新つづら書き
このブログはMovableTypeをレンタルサーバ(Xrea.com)で運用しています。10/26にバーションを3.171から3.2ja2にしましたが、... [続きを読む]
トラックバック時刻: 2005年11月 6日 20:25



