·4分で読めます

Mac向けSQLiteビューア——複数のデータベースを並べて表示

2つのSQLiteデータベース間でデータを比較するには、通常タブを切り替えたり、データベースツールを2つ起動したりする必要があります。もっとシンプルな方法があります。

あるSQLiteデータベースから別のデータベースへデータを移行していて、その結果を検証する必要があるとします。あるいはステージング環境のデータベースを本番環境と比較しているのかもしれません。または、アプリのデータベースの2つのバージョンを持っていて、何が変わったのかを見つける必要があるのかもしれません。いずれの場合も、2つのデータベースを同時に見る必要がありますが、ほとんどのSQLiteツールはこれを想定以上に難しくしています。

単一データベース向けツールとの綱渡り

ほとんどのSQLiteブラウザは、一度に1つのデータベース接続を前提に設計されています。2つのデータベースを比較するには、(そのツールが対応していれば)手動で2つの別々のアプリウィンドウを開くか、列の値を記憶しながらタブを行き来するしかありません。中には、1つのデータベースを閉じないと別のデータベースを開けないツールもあります。

ターミナルによるアプローチはさらに悪いものです。それぞれ異なるファイルに対してsqlite3を実行する2つのターミナルウィンドウを用意し、プレーンテキストの出力を並べて比較しようとすることになります。理論上は機能しますが、実際のデータ量が増えると破綻します。

この制約が存在するのは、ほとんどのデータベースツールがドキュメントベースのアプリケーションとして設計されていないからです。それらは接続マネージャーを中心に設計されています——データベースを選び、作業し、切断し、また別のものを選ぶ、という具合です。これはリモートサーバーのデータベースにとっては問題ありませんが、ローカルのSQLiteファイルにとっては不要な摩擦です。

Tome:ドキュメントベースのSQLiteビューア

Tomeは、各SQLiteデータベースをドキュメントとして扱います——TextEditがテキストファイルを、PreviewがPDFを扱うのと同じ感覚です。データベースを開けば、それ専用のウィンドウが生成されます。別のものを開けば、同様に専用のウィンドウが生成されます。それらを並べて配置することも、macOSネイティブのタブでグループ化することもできます。

Tome with multiple SQLite databases open side by side on Mac

データベースをビジュアルに比較

移行元と移行先のデータベースを2つのウィンドウで開きます。macOSのSplit Viewを使うか、ウィンドウをドラッグして並べて配置します。両方で同じテーブルを閲覧して、行数、列の値、スキーマの違いを比較できます。タブの切り替えも、値の暗記も必要ありません。

プロジェクトをまたいで作業

別のデータベースで開発を進めながら、参照用データベースを開いたままにしておけます。アプリの本番データベースとテスト用フィクスチャデータベースを並べて開いておくこともできます。自分のデータベースを読み込んだまま、クライアントのデータベースファイルを開くこともできます。Tomeには、同時に開けるデータベース数の制限はありません。

すべてのウィンドウで全機能を利用可能

各データベースウィンドウには、Tomeの完全なインターフェースが備わっています——テーブル、ビュー、インデックス、トリガーを表示するサイドバー、インライン編集可能なデータグリッド、シンタックスハイライトとオートコンプリート付きのSQLクエリエディタです。「主」と「副」のデータベースという概念はありません。開いているすべてのデータベースが完全に機能します。

Mac App StoreでTomeを入手する

次の記事

Tome

Browse, query, and edit SQLite databases in a native Mac app.

Get Tome on the Mac App Store