Heroku上のtDiaryへデータを移行するブラウザでポチポチするだけでHeroku上にtDiaryをデプロイできるようになったわけだが、従来からレンタルサーバ的な場所でtDiaryを運用していた人にとってはデータを移行できなければ意味がないだろう。これもいちおうできるようになっている。これをブラウザだけでやるのは難しいので、unix系システム上でコマンドラインを使うことになる。現時点でtDiaryを運用してる人はそういう環境にはそんなに困らない......はず。ruby、git、bundler。それぞれ最新のものをご用意下さい。同一ホスト上に既存のtDiaryのデータ(@data_path配下)が揃っている必要があります。mongoDBtdiary-mongodb-convertはtDiaryのデフォルト形式(テキスト)のデータを、MongoDBにアップロードするコマンド。アップロードをするにあたって、現在Herokuで使っているMongoDBの接続先情報を得ておく*1。Vars」をクリックするといろんなプラグインの設定が出てくるので、「MONGOLAB_URI」の値(mongodb:で始まってる長い文字列)を控えておく。tDiaryの設定をアップロードする。@data_pathの下にある方のtdiary.conf。:ちゃんとアップロードできたかどうかは、HerokuのResourcesタブからMongoLabに飛ぶとconfというCollectionがあることで確認できる。現在使っているものをそのままアップロードすると日記の編集などでエラーになる場合がある。その場合はtdiary.confをエディタで開いて、@base_urlやCSRF関連の設定を削除してからやり直すと良い(このへんはバッドノウハウなのでなんとかしたいところ)。:長年日記をつけてる場合はここでけっこうな時間がかかるので、のんびり待とう。これでデータのアップロードは完了したはず。サイトにアクセスして、プラグインまわりのチェックをしましょう。この「けっこうな時間」の部分、ネットワーク越しにアメリカにあるDBサーバとやりとりしてるせいなので、実はローカルにMongoDBを立ててそこに向けてアップロードすればかなり短縮できる(対Herokuで5分かかったデータがローカル相手だと数秒で済んだ)。mongoimportコマンドでHerokuの方に移せば良い。後述するカテゴリの問題もこれで解決できる。それから、DBに入るのは日記の本文だけなので、imageプラグインによる画像は元環境に残ったままだ。これをどうするかはけっこうな問題なんだけど、ある程度の期間運用してきた日記の場合はHerokuに送る量じゃないので、別の方法で解決しないといけない。今後つける日記ではオンライン写真サービスを使うことで代替できるのだけど(個人的なオススメはpicasaプラグイン。あとはたぶんflickrプラグインも使えるんじゃないかな)、過去の分はどっかに置いて、リンクを貼り直さないといけない。tDiary.Netではこんなプラグインを書いて、(imageプラグインの指定はそのままで)旧サーバにある画像を指すように書き換えている*2。さきほど触れたカテゴリの問題だけど、移転先にはカテゴリインデックスがない。カテゴリプラグインの設定画面から再作成をすればいいのだけど、これもまた時間がかかる上に、Herokuは30秒でタイムアウトしてしまうので、ブラウザからはエラーに見えるのだ。処理自体は動き続けているはずなので、Herokuに処理を殺されないようにたまにアクセスしながら待つと良い。MongoLabのpluginコレクションが従来のカテゴリの数くらいになれば完了だ。ローカルで動かせる場合は、こっちで再作成してからDBをコピーするのが快適だ。アプリ名」を実行してもよい。改造すれば他の環境でも使えるはず。旧imageと併用できないことに注意。手元にもってきて配置することで先に進んだのでした。14:01)今のところそれが正解です、すみません。スタイルはgemで入れると探索パスに自身を入れる仕組みを持ってるんだけど、このツールはそれを見てないので......。-sオプションを複数指定できるようにすればいいのだけど。プログラマ、Webアクセス解析士を経て、現在はサイバーセキュリティ関連事業に従事。学生時代からフリーソフトウェア開発に関わりはじめ、かれこれ30年。RubyではWebアプリケーションを中心に開発。tDiaryプロジェクト創始者。2.6.5-p114。