0. 環境

[OS] MacOS 10.11.6

[React Native] 0.61.4

[SQLite Studio] 3.2.1

1. 背景

React NativeでiOSアプリを作成中です。 ローカルストレージとしてExpoのSQLiteを使っていますが、開発ツールからテーブル参照する方法が分からず調べてました。 アプリから登録されたレコードの確認など、なにかとこの手のツールは必要です。 Androidアプリ開発のStethoみたいなのがないかなーと思ってましたが、結局こんな感じにしました。

2. 手順(DBファイルの格納先)

  • expo-sqliteが作成するDBファイルの保存先は${FileSystem.documentDirectory}/SQLite/${name}」なので、まず${FileSystem.documentDirectory}がどこなのか調べます。

  • アプリ実行時に必ず通る箇所にログを仕込みます。(importとconsoleの行だけあればどこでもOK)

    import * as FileSystem from 'expo-file-system'
    
    class DB {
    
        static db;
    
        static getDB(){
            console.log("FileSystem; " + FileSystem.documentDirectory);
        :
    
  • コンソールに出力されたパスからfile://を削ったものが${FileSystem.documentDirectory}です。

  • さらに上記${name}は、SQLite.openDatabase();の引数で指定しているDB名になります。

3. 手順(SQLiteStudio)

  • MacにSQLiteStudioをインストール。

  • SQLiteStudioのメニューで[Database]-[Add a database]を選び、上記2で調べたパスを[File]に入力して[OK]をクリック。

SQLiteStudioファイル指定

  • 左ペインにテーブルが表示されれば成功です。