DEV Community

Cover image for الأرق وفقدان البيانات: خطوات الاستعادة وخيارات النقل
Yusuf Khalidd
Yusuf Khalidd

Posted on • Originally published at apidog.com

الأرق وفقدان البيانات: خطوات الاستعادة وخيارات النقل

ملخص سريع

إذا قمت بالترقية إلى Insomnia 8.0 وفقدت الوصول إلى مجموعاتك، غالبًا ما تظل بياناتك مخزنة على القرص. يوضح هذا الدليل خطوات تحديد موقع بياناتك، واستخراجها من قاعدة بيانات SQLite، وترحيلها بسهولة إلى Apidog أو أي بديل آخر. بادر بسرعة قبل تثبيت تحديثات إضافية قد تكتب فوق النسخ الاحتياطية.

جرب Apidog اليوم

💡Apidog منصة مجانية وشاملة لتطوير واختبار واجهات برمجة التطبيقات (API). يمكنك استيراد مجموعات Insomnia مباشرة وتخزين بياناتك محليًا دون الحاجة لإنشاء حساب. جرب Apidog مجانًا، بدون الحاجة إلى بطاقة ائتمان.

مقدمة

صدر تحديث Insomnia 8.0 في سبتمبر 2023 بمتطلب تسجيل دخول إلزامي عبر السحابة، ما تسبب في فقدان بعض المستخدمين لمجموعاتهم عند فتح التطبيق. في حالات كثيرة بقيت ملفات قاعدة بيانات SQLite على القرص لكنها لم تعد مرئية من خلال واجهة المستخدم الجديدة بدون حساب Kong. هذا الدليل يوضح كيفية استعادة بياناتك أو التعامل مع فقدان البيانات، ويقترح الترحيل إلى أداة أكثر موثوقية تعتمد التخزين المحلي.

الخطوة 1: العثور على ملفات قاعدة بيانات Insomnia

قبل أي إجراء آخر، حدد موقع ملفات قاعدة بيانات Insomnia واحتفظ بنسخة احتياطية منها فورًا. لا تفتح 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
  • مجلد workspaces/ (قد يحتوي على ملفات JSON مصدرة)

انسخ المجلد بالكامل إلى مكان آمن خارج مسار التطبيق.

الخطوة 2: محاولة الاسترداد من واجهة Insomnia

إذا لم تسجل الدخول بعد، عند ظهور شاشة تسجيل الدخول، ابحث عن خيار "الاستخدام بدون حساب" أو "المتابعة باستخدام التخزين المحلي". إذا تمكنت من الدخول، صدّر جميع مساحات العمل فورًا:

  1. انقر على اسم مساحة العمل في الشريط الجانبي.
  2. من قائمة مساحة العمل (ثلاث نقاط أو أيقونة الترس)، اختر "تصدير".
  3. حدد "Insomnia v4 (JSON)".
  4. احفظ الملف في مكان آمن.
  5. كرر لكل مساحة عمل.

إذا كنت تملك حساب Kong ومساحات عمل متزامنة، كرر نفس عملية التصدير.

الخطوة 3: استخراج البيانات من قاعدة SQLite مباشرة

في حال عدم تمكنك من الوصول للبيانات عبر التطبيق، يمكنك استخراجها من ملفات قاعدة البيانات باستخدام أداة مثل DB Browser for SQLite:

  1. تثبيت DB Browser for SQLite

    متاح لأنظمة macOS، Windows، وLinux.

  2. فتح قاعدة البيانات

    افتح insomnia.db أو أي ملف .db باستخدام الأداة.

  3. استكشاف الجداول

    اهتم بجداول:

    • Workspace (مساحات العمل)
    • RequestGroup (المجلدات)
    • Request (الطلبات)
    • Environment (المتغيرات البيئية)
    • Response (سجل الاستجابات)
  4. تصدير البيانات

    من تبويب "Browse Data" يمكنك تصدير كل جدول كـ CSV:

   File > Export > Table as CSV
Enter fullscreen mode Exit fullscreen mode
  1. استخراج الطلبات برمجيًا يمكنك استخدام بايثون مع 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

عدّل أسماء الحقول حسب ما يظهر في قاعدة البيانات.

الخطوة 4: الاسترداد من النسخ الاحتياطية في حال تلف قاعدة البيانات

إذا كانت قاعدة البيانات تالفة:

  • استرجع من Time Machine أو نسخ النظام الاحتياطية: استعد نسخة ما قبل الترقية لمجلد Insomnia وافتحها باستخدام DB Browser.
  • تحقق من مستودعات Git: إذا كنت أو فريقك تصدّرون مجموعات Insomnia في Git، ابحث عن ملفات JSON هناك.
  • ابحث عن تصديرات قديمة: ابحث في النظام عن ملفات .json بأسماء تحتوي "insomnia" أو "_collection".

الخطوة 5: الترحيل إلى Apidog

بعد الحصول على بياناتك بصيغة Insomnia v4 JSON:

  1. افتح Apidog وأنشئ مشروعًا جديدًا.
  2. انتقل لإعدادات المشروع أو خيار الاستيراد في الشريط الجانبي.
  3. اختر "استيراد" وحدد "Insomnia".
  4. حمّل ملف JSON المُصدَّر.
  5. راجع النتائج وتأكد من استيراد جميع الطلبات والمجموعات والمتغيرات.

ما يتم نقله تلقائيًا:

  • جميع طلبات HTTP (GET, POST, إلخ)
  • رؤوس وهيئات الطلبات
  • معلمات URL والمتغيرات البيئية
  • بنية المجلدات

ما يحتاج مراجعة يدوية:

  • أي سكريبتات (pre/post request) أو مصادقات مخصصة
  • تأكيدات الاختبارات

تحقق من المتغيرات البيئية

تأكد من أن جميع القيم صحيحة بعد الاستيراد.

لمساحات العمل المشتركة

يدعم Apidog مشاركة العمل مع تفعيل المزامنة السحابية حسب الحاجة.

اختبر بعض الطلبات

نفذ عدة طلبات للتحقق من عملها وضبط أي متغيرات أو إعدادات ضرورية.

تجنب المشكلة مستقبلاً

لتجنب فقدان البيانات:

  • صدّر مجموعاتك بشكل منتظم (مثلاً شهريًا) لمجلد احتياطي أو مستودع Git.
  • استخدم أدوات تدعم التخزين المحلي أولاً مثل Apidog أو Bruno.
  • اقرأ ملاحظات التحديث الرئيسية لأي أداة قبل الترقية وتأكد من نسخة احتياطية حديثة.

الأسئلة الشائعة

هل يمكنني استعادة بيانات Insomnia بدون حساب Kong؟

نعم، إذا كانت قاعدة البيانات ما زالت على القرص. استخدم DB Browser for SQLite لتصدير البيانات مباشرة.

ما هو أفضل تنسيق لتصدير بيانات Insomnia؟

"Insomnia v4 JSON" هو الأنسب والأكثر دعمًا ويمكن استيراده إلى Apidog وأدوات أخرى.

هل تُنقل المتغيرات البيئية إلى Apidog؟

عادةً نعم، لكنها تستحق مراجعة القيم بعد الاستيراد.

ما الفرق بين scratch storage في Insomnia والتخزين المحلي في الأدوات الأخرى؟

scratch storage كان حلًا مؤقتًا أقل موثوقية. Apidog وBruno يخزنان البيانات على القرص مباشرة بشكل افتراضي.

هل يعمل DB Browser for SQLite على macOS؟

نعم، متوفر على macOS ويمكن تثبيته عبر الموقع أو Homebrew.

كم يستغرق الترحيل من Insomnia إلى Apidog؟

استيراد 50-200 طلب يستغرق أقل من خمس دقائق. قد تحتاج وقت إضافي لمراجعة السكريبتات وتدفقات المصادقة.

Top comments (0)