DEV Community

Cover image for 不眠症8 データ損失:復旧手順と移行オプション
Akira
Akira

Posted on • Originally published at apidog.com

不眠症8 データ損失:復旧手順と移行オプション

fTL;DR

Insomnia 8.0にアップグレードしてコレクションへのアクセスを失った場合でも、データはディスク上に残っている可能性が高いです。このガイドでは、それを見つけ、SQLiteデータベースから復元し、Apidogまたは別の代替ツールにクリーンに移行する方法を示します。バックアップファイルを上書きする可能性のあるそれ以上のアップデートをインストールする前に、この手順を実行してください。

今すぐApidogを試す

💡 Apidogは、無料のオールインワンAPI開発プラットフォームです。Insomniaのコレクションを直接インポートでき、アカウントなしでデータをローカル保存できます。Apidogは無料で試せます。クレジットカード不要です。

はじめに

2023年9月リリースのInsomnia 8.0アップデートでは、クラウドログインが必須となり、アップデート後にコレクションが見えなくなる事象が発生しました。アプリケーションがログイン画面で開き、これまで構築してきたコレクションが消えたように見える場合があります。

一部の環境ではデータ損失も報告されていますが、多くの場合、SQLiteデータベースファイルはディスク上に残っており、KongアカウントがないとUIからアクセスできないだけです。

本ガイドは、データが残っている場合の復元手順と、失われた場合のバックアップや他ツールへの移行方法を解説します。


ステップ1:既存のInsomniaデータベースファイルを見つけてバックアップ

新しいインストールやアップグレードの前に、必ずデータベースファイルを探して安全な場所にコピーしてください。

データ保存場所

macOS

~/Library/Application Support/Insomnia/
Enter fullscreen mode Exit fullscreen mode

Windows

C:\Users\[Username]\AppData\Roaming\Insomnia\
Enter fullscreen mode Exit fullscreen mode

Linux

~/.config/Insomnia/
Enter fullscreen mode Exit fullscreen mode

探すべきファイル

  • insomnia.db(メインデータベース/古いバージョン)
  • core/ ディレクトリ内の .db ファイル(8.0以前)
  • workspaces/ ディレクトリ内のJSON(過去エクスポートがあれば)

このディレクトリ全体を外部ストレージやクラウド、別フォルダにコピーしてください。

このステップを飛ばすと、アップグレードや再インストール時にデータが消えるリスクがあります。


ステップ2:Insomnia UI経由でのエクスポートを試す

ログイン画面での選択肢

Kongアカウントが未作成の場合、「アカウントなしで使用」「ローカルストレージで続行」などのボタン・リンクを探してください(バージョンによって異なります)。

ローカルストレージでアクセスできた場合

  1. 左サイドバーのワークスペース名をクリック
  2. ワークスペースメニュー(3点リーダー or 歯車アイコン)を開く
  3. 「エクスポート」を選択
  4. 「Insomnia v4 (JSON)」形式を指定
  5. ファイルを保存
  6. すべてのワークスペースで繰り返す

Kongアカウントでログイン済みの場合

同様にワークスペースごとにエクスポートしてください。同期済みの場合、クラウド側のほうがデータが完全な場合もあります。


ステップ3:SQLiteデータベースから直接データを復元する

UIからアクセスできない場合、データベースファイルから直接データ抽出が可能です。

必要ツール

手順

  1. DB Browserをインストール
  2. 「ファイル > データベースを開く」から insomnia.db または該当 .db ファイルを選択
  3. スキーマを確認
    • Workspace(ワークスペース)
    • RequestGroup(フォルダ)
    • Request(リクエスト)
    • Environment(環境変数)
    • Response(レスポンス履歴、必要なら)
  4. 「データブラウズ」タブから、各テーブルごとに 「ファイル > エクスポート > テーブルをCSVとして保存」で生データを保存

Pythonによる自動抽出例

import sqlite3
import json

conn = sqlite3.connect('/path/to/insomnia.db')
cursor = conn.cursor()

cursor.execute("SELECT name, url, method, headers, body FROM Request")
rows = cursor.fetchall()

for row in rows:
    print(f"Name: {row[0]}")
    print(f"Method: {row[2]} {row[1]}")
    if row[3]:
        headers = json.loads(row[3])
        for h in headers:
            print(f"  Header: {h.get('name')}: {h.get('value')}")
    print()

conn.close()
Enter fullscreen mode Exit fullscreen mode

各バージョンでスキーマが異なる場合があるので、必要に応じてフィールド名を調整してください。


ステップ4:データベースが破損している場合のバックアップからの復元

データベースが開けない・破損している場合は下記を試します。

  1. Time Machineやファイル履歴でバックアップを探す

    • macOS: Time Machine
    • Windows: ファイル履歴
    • クラウドバックアップ(Backblaze, iCloud Drive等) → 8.0アップグレード前のInsomniaディレクトリを探し、復元
  2. gitリポジトリを確認

    • チーム管理の場合、エクスポートされたJSONがgit履歴に残っていないか確認
  3. 過去のエクスポートファイルを検索

    • 「insomnia」「_collection」などの名前+.jsonでファイルシステム検索

ステップ5:Apidogへの移行

Insomnia v4 JSON形式(UIエクスポート or 手動再構築)が用意できたら、Apidogへ移行します。

移行手順

  1. Apidogを開き、新規プロジェクト作成
  2. プロジェクト設定またはサイドバーで「インポート」へ
  3. 「Insomnia」を選択し、エクスポートしたJSONファイルをアップロード
  4. Apidogがワークスペース・フォルダ・リクエスト・環境を自動解析

自動移行される主な内容

  • HTTPリクエスト(GET, POST, PUT, DELETE, PATCH)
  • リクエストヘッダー
  • リクエストボディ(JSON, フォーム, マルチパート)
  • URLパラメータ・パス変数
  • 環境変数
  • フォルダ構造

手動レビュー推奨

  • リクエスト前後のスクリプト(JavaScript)
  • カスタム認証フロー(Insomniaプラグイン依存)
  • レスポンステスト(Apidogのテストで再入力が必要)

移行後の確認ポイント

  • 環境変数の値が正しく移行されているか
  • チームワークスペースの場合、クラウド同期設定と共有方法
  • 代表的なリクエスト5〜6件をテスト実行し、動作・認証・変数展開を確認

将来この問題を避けるために

Insomnia 8.0の教訓:

どんなツールでも、バックアップなしで重要データを1つのツールに預けるのはリスクです。

実践すべき習慣

  • 定期的なエクスポート

    コレクションを毎月バックアップやgitにエクスポート

  • ローカルファーストのツール選択

    ApidogやBrunoはローカル保存がデフォルト。

    クラウド依存を避け、手元でバックアップ可能

  • アップグレード前の情報収集

    メジャーバージョンのアップデート時は必ずリリースノート・移行ガイドを読み、影響を確認する


よくある質問

Q. KongにログインせずにInsomniaデータを復元できますか?

A. はい、可能です。Insomniaの.dbファイルをDB Browser for SQLiteで開けば、テーブルから直接データを抽出できます。

Q. Insomniaデータをエクスポートする際の推奨形式は?

A. 「Insomnia v4 JSON」形式が最も互換性が高く、ApidogやPostmanなど多くのツールでインポート可能です。

Q. 環境変数はApidogに正しく転送されますか?

A. 通常は転送されます。v4 JSON形式に含まれており、インポート後に値を必ず確認してください。

Q. Insomniaのスクラッチストレージと他ツールのローカルストレージの違いは?

A. Insomniaのスクラッチストレージはフォールバック運用で信頼性が低いですが、ApidogやBrunoはローカルストレージが標準で信頼性が高いです。

Q. DB Browser for SQLiteはmacOSで使えますか?

A. はい。公式サイトか、Homebrew(brew install db-browser-for-sqlite)経由でインストールできます。

Q. InsomniaからApidogへの移行にかかる時間は?

A. 50〜200リクエスト程度のコレクションなら、5分以内でインポート可能です。

スクリプトや認証の調整は内容によって追加で時間がかかる場合があります。

Top comments (0)