Firefox 3のmoz_bookmarksテーブルを編集してブックマークを登録する
杉山貴章(オングス)
2008-10-09 08:00:00
Firefox 3では、Placesデータベースのテーブルの構成を理解することで、SQLを用いて手動でブックマークや履歴のデータを編集できるようになる。
ブックマークデータの自作
Firefox 3のPlacesシステムでは、moz_bookmarksテーブルからmoz_placesテーブルを参照することでブックマークのデータを構成している。今回はこのテーブルのデータを編集してみることにする。なお本稿ではSQLite Managerのダイアログを利用してテーブルを編集しているが、SQL文を直接実行してもよい。ただし、いずれにしても必ずplaces.sqliteのバックアップを取ってから作業しよう。
ここでは、moz_bookmarksテーブルに図1のデータを追加してみた。このとき、主キーであるidの値は一意でなくてはならず、またfkがmoz_placesテーブルにあるidを、parentが自身のテーブルにあるidを指すことに注意する。
この例ではparentが前回追加した「マイフォルダ」に、fkがGoogleトップページのplacesデータになるようにしてある。typeはブックマークなので「1」だ。追加後のテーブルは図2のようになった。
ここでブックマークメニューを開いてみると、図3のように追加したデータが反映されていることがわかる(ただし、Firefoxのウィンドウを再起動しなければメニューには反映されない場合もある)。
フォルダを追加したい場合にはtypeの値を2に指定すればよい。図4は「中のフォルダ」というフォルダを追加し、先程のブックマークのparent値をこのフォルダのidに変更してみた様子である。この結果、ブックマークメニューは図5のようになった。
もちろん、place URIを利用したブックマークなども同様にして作成することが可能だ。SQLを駆使すれば他にも様々なデータ操作ができるだろう。
- ホワイトペーパー






