SQLiteファイルはバイナリでダウンロードしましょう

投稿者: | 2017年4月14日

WordPress を SQLite 3 で運用中

当ブログは現在、さくらインターネットのライトプランを利用しているので、MySQLが使用できません。
もちろん、SSLも(これはまたの機会に触れたいと思います)。

WordPressを利用しているので、プラグイン「SQLite Integration」を利用してSQLite3で運用しています。
DBに関係するようなプラグインなどは利用できないようですが、そこまでプラグインに頼っていないのと、PVが無いので...全く不自由していません。

WordPressはエクスポート機能を標準装備していて、プラグイン「WordPress インポートツール」を利用すれば、取込みも簡単に出来ます。
バックアップとリストアが非常に簡単にできるんです。

が、一点問題が!
エクスポートしてインポートすると、カテゴリの階層が全て同じになるんです(1階層にまとまる)。
今のところ3階層は無いですが、2階層は多用しているので、これを手動で再設定するのは非常に面倒です。

なので、DBファイルをバックアップしたいのが世の常なのですが、SQLiteはファイルベースなのでファイルをコピーすればバックアップ完了です。
SQLite Integrationで生成されるDBファイルは「.ht.sqlite」なので、これをFileZillaでダウンロードすれば完了です。
しかーし、DB Browser for SQLiteでもPupSQLiteでも「database disk image is malformed」とか言われて、開くことすら出来ません。

仕方なく、本家からコマンドラインツール(4/14時点は「sqlite-tools-win32-x86-3180000.zip」でした)をダウンロードしてアクセスを試みるも、”.dump”すらできません。
なので、新しいSQLiteファイルにデータを移行して作りなおすというやり方も使えません。

途方に暮れていたら、おかしなことに気が付きました。
これだけクライアントツールでエラーになるのに、WordPressからは見られている。
・・・
もしかしてと思い、FileZillaの[転送]-[手動転送]で「データの種類」を「バイナリ」に指定してダウンロードしたら問題なく見られました。

拡張子”.sqlite”は自動だとASCIIでダウンロードされるんですね。
久々に基本に立ち返ることのできた一日でした。

2018.7.5 追記

FileZilla の転送形式の設定

  • 前提
    FileZilla バージョン 3.15.0.2 で確認しました。

  • 設定画面を開く
    [編集] – [設定]を選択。

  • ファイルの種類を開く
    • 左ペイン
      • 転送
        • ファイルの種類
  • 「ドットファイルを ASCII ファイルとして扱う」のチェックを外す
    • 右ペイン
      • ドットファイルを ASCII ファイルとして扱う

なお、上記設定をしても「.htaccess」は ASCII 形式でダウンロードされました。