DEV Community

Cover image for 인썸니아 데이터 손실 복구 및 마이그레이션 방법
Rihpig
Rihpig

Posted on • Originally published at apidog.com

인썸니아 데이터 손실 복구 및 마이그레이션 방법

간략 요약

Insomnia 8.0으로 업그레이드한 뒤 컬렉션 접근 권한을 잃었다면, 데이터는 여전히 디스크에 남아 있을 가능성이 높습니다. 이 글에서는 데이터 위치 확인, SQLite 데이터베이스 복구, 그리고 Apidog 등 대안 툴로의 실질적인 마이그레이션 방법을 단계별로 안내합니다. 추가 업데이트로 인해 백업 파일이 덮어쓰기되기 전에 신속히 조치하세요.

지금 Apidog를 무료로 사용해보세요

💡 Apidog는 무료 올인원 API 개발 플랫폼입니다. Insomnia 컬렉션을 바로 가져오고, 계정 없이 로컬에 저장할 수 있습니다. 신용카드 없이 바로 시작하세요.

서론

Insomnia 8.0 업데이트(2023년 9월)는 필수 클라우드 로그인 도입으로 인해 많은 개발자들에게 혼란을 야기했습니다. 로그인 화면으로만 시작되고, 오랜 기간 구축한 컬렉션이 사라진 것처럼 보였죠.

일부 데이터는 실제 손실되었으나, 대부분의 경우 SQLite 데이터베이스 파일이 디스크에 남아있었으나 Kong 계정 없이는 접근이 불가능했습니다.

이 글에서는 데이터가 남아있는 경우 추출 방법, 스크래치 스토리지로 인한 실제 손실 시 복구 옵션, 그리고 향후 문제 예방을 위한 보다 신뢰성 높은 로컬 우선 모델 도구로의 마이그레이션 방법을 다룹니다.

1단계: 기존 Insomnia 데이터베이스 파일 찾기

Insomnia를 재설치하거나 Kong 계정 생성, 앱 재실행 전에 반드시 데이터베이스 파일을 찾아 백업하세요.

Insomnia는 버전 및 OS별로 데이터 위치가 다릅니다.

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 – 메인 DB (구버전)
  • core/ 폴더 내 .db 파일 – 8.0 이전 일반적 구조
  • workspaces/ – JSON 내보내기 파일 포함 가능

지금 전체 Insomnia 지원 디렉터리를 안전하게 복사하세요. 이 단계는 필수입니다. 추가 업그레이드/제거/재설치 시 파일이 삭제될 수 있습니다.

2단계: Insomnia UI를 통한 복구 시도

아직 Kong 계정에 로그인하지 않았다면, 스크래치 스토리지 경로를 시도하세요. 로그인 화면에서 “계정 없이 사용”, “로컬 저장소로 계속” 등 문구를 찾아 클릭합니다(버전에 따라 문구 다름).

로그인 없이 앱 접근이 가능하다면, 즉시 모든 워크스페이스를 내보내세요.

  1. 왼쪽 사이드바에서 워크스페이스 클릭
  2. 워크스페이스 메뉴(점 세 개 또는 톱니바퀴) 이동
  3. “내보내기” 선택
  4. “Insomnia v4 (JSON)” 형식 선택
  5. 파일 저장
  6. 모든 워크스페이스에 대해 반복

이미 Kong 계정으로 로그인되어 있다면, 동일하게 내보내기 작업을 진행하세요. 동기화된 워크스페이스라면 로컬보다 더 완전한 경우도 있습니다.

3단계: SQLite 데이터베이스 직접 복구

UI 접근이 불가하다면, SQLite DB에서 직접 데이터 추출이 가능합니다.

DB Browser for SQLite 설치:

sqlitebrowser.org에서 무료로 다운로드하세요. macOS, Windows, Linux 지원.

데이터베이스 열기:

DB Browser에서 파일 → 데이터베이스 열기 → Insomnia 지원 디렉터리의 insomnia.db 또는 .db 파일 선택.

스키마 탐색:

중요 테이블:

  • Workspace – 워크스페이스
  • RequestGroup – 폴더
  • Request – 개별 요청
  • Environment – 환경 변수
  • Response – 응답 기록(선택적 복구)

데이터 내보내기:

각 테이블에서 파일 → 내보내기 → CSV로 저장.

요청 테이블 필드: name, url, method, headers(JSON), body

컬렉션 재구성:

CSV 데이터로 수동 재구성.

자동화가 필요하다면 Python의 sqlite3 모듈로 쿼리 및 내보내기 스크립트 작성.

예시 스크립트:

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

Insomnia 버전별로 필드 이름이 다를 수 있으니 DB Browser에서 필드를 확인 후 필요시 수정하세요.

4단계: 데이터베이스 손상 시 백업 복구

DB 파일이 손상된 경우 다음 방법을 시도하세요.

  • Time Machine/백업 확인:

    macOS Time Machine, Windows 파일 히스토리, 기타 클라우드 백업에서 Insomnia 디렉터리 스냅샷을 확인하세요. 복원 후 DB Browser로 열 수 있습니다.

  • Git 기록 확인:

    팀에서 Insomnia 내보내기 파일을 Git으로 관리했다면, 저장소에서 복원 가능합니다.

  • Insomnia 내보내기 파일 찾기:

    과거 내보낸 JSON 파일이 있다면, 다운로드 폴더 혹은 프로젝트 디렉터리에서 "insomnia" 또는 "_collection" 키워드로 .json 파일을 검색하세요.

5단계: Apidog로 마이그레이션

Insomnia v4 JSON 파일이 준비되었다면, Apidog로 즉시 마이그레이션할 수 있습니다.

컬렉션 가져오기

  1. Apidog(apidog.com) 실행 후 새 프로젝트 생성
  2. 프로젝트 설정 또는 사이드바에서 가져오기 선택
  3. "가져오기" 클릭 → "Insomnia" 선택
  4. 내보낸 JSON 파일 업로드
  5. Apidog가 워크스페이스, 폴더, 요청, 환경 모두 파싱

자동 마이그레이션되는 항목

  • HTTP 요청 (GET, POST, PUT, DELETE, PATCH)
  • 요청 헤더/본문/URL 파라미터/경로 변수
  • 환경 변수 및 값
  • 폴더 구조

수동 점검 필요한 항목

  • 사전/사후 요청 스크립트(JavaScript) – 구문 차이 있을 수 있음
  • Insomnia 플러그인 기반 인증 흐름
  • 응답 테스트 어설션 – Apidog 형식으로 재입력 필요

환경 검토
가져온 후 환경 패널에서 기본 URL, API 키, 토큰 등 변수 값이 정상인지 확인하세요.

팀 공유
공유 워크스페이스 사용 시, Apidog의 클라우드 동기화(옵션)를 활용해 팀원과 컬렉션을 공유할 수 있습니다.

동작 테스트
컬렉션 내 5~6개 대표 요청을 실행해 정상 동작 여부, 인증 헤더/환경 변수 대체 등을 반드시 검증하세요.

앞으로 이러한 문제 방지하기

Insomnia 8.0 사태에서 알 수 있듯, 중요한 데이터의 백업 없이 단일 도구에만 의존하는 것은 위험합니다.

실천 팁:

  • 정기 내보내기: 월 1회 이상 컬렉션을 백업 폴더나 Git 저장소에 내보내세요. 2분 투자로 복구 경로 확보!
  • 로컬 우선 도구 선택: Apidog는 데이터를 로컬에 기본 저장합니다. Bruno 등도 파일 기반 저장 지원.
  • 업그레이드 전 데이터 모델 확인: 메이저 업데이트 전, 마이그레이션 노트와 데이터 저장 방식 변화를 반드시 확인하세요.

자주 묻는 질문 (FAQ)

Q. Kong에 로그인하지 않고 Insomnia 데이터를 복구할 수 있나요?

A. 네. DB 파일이 디스크에 있다면, SQLite용 DB Browser로 직접 열어 테이블에서 데이터 내보내기가 가능합니다.

Q. Insomnia 데이터 내보내기 시 어떤 형식을 사용해야 하나요?

A. "Insomnia v4 JSON" 형식을 사용하세요. Apidog, Postman 등 주요 도구에서 호환됩니다.

Q. 환경 변수도 Apidog로 이관되나요?

A. 대부분 그렇습니다. v4 JSON 내보내기 시 포함되며, Apidog에서 자동 인식합니다. 민감한 토큰 등은 이관 후 별도 확인하세요.

Q. Insomnia의 스크래치 스토리지와 타 도구의 로컬 스토리지 차이점은?

A. 스크래치 스토리지는 임시 저장 방식으로 신뢰성이 낮았습니다. Apidog 및 Bruno는 디스크 기반 로컬 저장이 기본 모델입니다.

Q. macOS에서 DB Browser for SQLite 사용 가능한가요?

A. 네. 공식 웹사이트 또는 Homebrew(brew install db-browser-for-sqlite)로 설치 가능합니다.

Q. Insomnia에서 Apidog로 마이그레이션 시간은?

A. 일반적으로 50~200개 요청 컬렉션 기준 5분 이내. 스크립트/인증 흐름 등 복잡성에 따라 추가 조정 시간 소요될 수 있습니다.

Top comments (0)