iOS開発に便利!SQLiteデータベースを手軽に編集できるツール「SQLite Database Browser」が大幅にバージョンアップしていた


sqlitedatabasebrowser

※当ブログではアフィリエイト広告を利用しています。

コマンドラインでなくてもGUIでSQLiteデータベースの中身を簡単に確認・編集できる便利ツール「SQLite Database Browser」が約5年ぶりにバージョンアップしていたようです。

バージョン2.0betaからバージョン3.2になり、大幅に機能が追加されていたのでご紹介します。

SQLite Database Browserとは

コマンドラインからわざわざSQL文を発行しなくても、SQLiteのデータベースファイルの中身をGUIで見やすく表示してくれるWindows/MAC用のオープンソースソフトウェアです。無料で使うことができます。
sqlitebrowser 画面

以前(バージョン2.0betaまで)はSourceForgeで配布されていましたがいつの間にか公式サイトができており、バージョンが3.2にアップしていました。プロジェクトのページもGitHubへ移ったようです。

公式サイト:SQLite Database Browser by sqlitebrowser
GitHub公式プロジェクト:sqlitebrowser/sqlitebrowser · GitHub

Windows/MAC版のソフトウェアは公式サイトの以下の画像の場所よりダウンロード可能です。インストールはデフォルトの設定でOKです。
sqlitebrowser ダウンロード

SQLite Database Browserの主な機能

GUIベースで以下のような操作が可能です。

  • SQLiteデータベースファイルの作成
  • テーブルの作成、定義、変更、削除
  • インデックスの作成、定義、削除
  • レコードの参照、検索、編集、追加、削除
  • CSVのインポートおよびエクスポート
  • SQLダンプファイルのインポートおよびエクスポート

GUI操作でSQLite Database Browserが発行したSQLコマンドの参照が可能となっています。またSQLクエリを発行してのレコードの参照・編集も可能です。

アプリ開発のときに便利

SQLiteデータベースはiOSのフレームワークCoreDataでアプリ内部にデータを保存するときに使われます。iPhoneアプリ開発時に動作確認やデバッグをする際にとても重宝します。

もちろんAndroidやちょっとしたWebアプリなど、SQLiteデータベースを使う他の開発でも便利だと思います。

旧バージョンからの改善点

バージョン2.0betaからバージョン3.xになったことにより、主に以下のような変更や機能追加がありました。

  • 「最近使用したファイル」メニューの追加
  • UIの大幅な変更
  • SQLコードの構文ハイライト機能
  • ビュー及びトリガがサポートされた
  • 多くのバグ修正

参考までに旧バージョンの2.0betaの画面は以下のようなものでした。
sqlitebrowser 2.0beta

最新版の3.2では以下のような画面です。UIが変更され大幅に機能が追加されています。
sqlitebrowser 画面

バージョンアップで大きく変わったこと

一番大きい変更だと思ったのがWAL(Write-Ahead Logging)モードのSQLiteファイルが開けるようになった点です。SQLiteのWALモードではSQLiteのデータベースファイルが*.sqliteだけでなく、以下の3点で保存されます。

  • *.sqlite
  • *.sqlite-wal
  • *.sqlite-shm

WALモードでないjournal_modeで保存されたデータベースファイルであれば以前のバージョンでも開くことができましたが、WALモードのファイルは開くことができませんでした。

iPhoneアプリ開発でCoreDataフレームワークを利用してSQLiteを扱う際、iOS6まではjournal_modeがデフォルトでしたがiOS7以降はWALモードがデフォルトとなっていたため、データベースの中身を確認するのが若干面倒だったので、これは嬉しい変更点でした。

関連サイト:iOS7からSQLiteファイルがWALモードになっていてアプリが落ちる件 – hachinoBlog

おわりに

約5年ぶりというちょっと驚きなバージョンアップでしたが、さらに素晴らしいソフトウェアに改良してくれた開発者の方々に感謝したいです。

オープンソースかつプロジェクトがGitHubに移ったこともあり、今後の機能追加も楽しみです。