📊

Driftデータベースの中身はDevToolsで確認できる

2024/06/27に公開

端末にデータベースを持つモバイルアプリを開発していると、データベースの中身を確認したいことがありますよね。
Flutter では Isar や Realm を用いることも多いと思います。これらは当初からデータベースの中身を確認するためのツールが提供されています。

SQLite ベースの Drift では、これまでデータベースの中身を確認するためのツールは drift_db_viewer を使用することが一般的でした。そして、アプリの中でデータベースの中身を確認するための画面を作成することが多かったはずです。

しかし、先日 DevTools に拡張機能を実装できるようになりました。
そして、これを利用して DevTools 上で Drift データベースの中身を確認することができるようになりました。

公式ドキュメントにその方法が記載されていますが、それだけではわかりにくい部分もあるため、ここに手順をまとめておこうと思います。

1. DevTools を起動する

まずは DevTools を起動する必要があります。(もちろん Flutter アプリを実行している状態で行ってください)

VSCode ではコマンドパレット(Cmd + Shift + P)から Flutter: Open DevTools を選択することで起動できます。
AndroidStudio や command line からも起動できます。起動方法はこちらを参照してください。

2. Drift タブを開く

DevTools のメイン画面が開いたら、画面上部のタブ一覧から Drift タブを開きます。
すると、この拡張機能を利用するかどうか尋ねられるので、Enable を選択します。

No を選択してしまった場合でも、画面上部の拡張機能のアイコンから再設定することができます。

Enable Drift devtools extension

3. データベースを選択する

Drift タブを開くと、画面左側にデータベース一覧が表示されます。データベースを選択すると、そのデータベースに含まれるテーブル一覧が表示されます。

Drift database list

テーブルを選択すると、そのテーブルに含まれるレコード一覧が表示されます。

Drift record list

drift_db_viewer と同様にフィルタリングやソートも可能です。(実は中で動いているのは drift_db_viewer です)

Drift record filtering

おわりに

DevTools に Drift 拡張機能が追加されたことで、Drift データベースの中身を確認するための画面を作成する手間が省けるようになりました。
Drift パッケージも DevTools Extension も非常に便利なので、これからも積極的に利用していけると効率よく開発ができそうですね。

Discussion