Windows でアップロードしたMovableType のAsset をLinuxサーバに移したときにちゃんと表示できるように復活させる

MovableTypeでサイトを作るときにほとんどの場合Windows にXAMPPとか入れて作り始めるんだけど
そのときにMovableTypeのアイテムとしてアセットに画像を登録して、Linuxとかの本番サーバにあげる時に
アセットの画像が登録がうまく引き継がれないのでめんどくさいナーとか思っていたけど、引き継ぐ方法を見つけた。

とりあえず、基本SQLiteでやっているので前提として開発用のローカル環境もサーバの本番環境もSQLiteを利用してます。

SQLiteのデータベースからmt_assetテーブルのasset_file_pathの内容が

%r\files\001-main.jpg

みたいになっているのを、

%r/files/001-main.jpg

に書き換える。(ディレクトリ区切りのバックスラッシュをスラッシュに置換)

具体的には
FireFox の機能拡張でSQLiteをさわれるSQLite Managerを使ってエクスポート/インポートでやってみた。

  1. SQLite Managerでデータベースファイルを開いく
  2. mt_assetのテーブルをCSVに書き出し
  3. 書き出されたCSVで検索/置換でパスを\から/に変更
  4. SQLite Managerでmt_assetテーブルの中身を削除
  5. CSVからインポート、インポート先をmt_assetテーブルを指定

もしかしたら、いちいちファイルの登録をMovableTypeのインターフェイスを介さず出来るんじゃないかと妄想してみる。

Rlated & Feedbacks

http://www.trapon.jp/cms/mt-tb.cgi/196