تخطَّ إلى المحتوى
Uttra

الانتقال من Replit إلى أوترا: الكود وقاعدة البيانات والمستخدمون

للانتقال من Replit إلى أوترا اربط مشروعك في Replit بمستودع GitHub وادفع آخر نسخة إليه، ثم أنشئ مشروعًا في أوترا بالاستيراد من GitHub. انقل بيانات Postgres بتصدير يدوي، وخطط لبديل تسجيل الدخول إن كنت تستخدم Replit Auth، ثم انشر وحوّل سجلات النطاق.

آخر تحديث:

قبل أن تنتقل: هل الانتقال مناسب لك؟

Replit بيئة تطوير ناضجة: فيها Postgres مُدار بنسختين منفصلتين للتطوير والإنتاج، وتخزين ملفات، ونشر بأنواع مختلفة. إذا كان تطبيقك يعمل جيدًا هناك وفريقك معتاد عليه، فالبقاء خيار معقول تمامًا.

يفكر أصحاب المشاريع في الانتقال عادةً لأحد سببين. الأول: يريدون أن يبنوا ويعدّلوا بالعربية مع واجهة RTL صحيحة دون أن يكتبوا الكود بأنفسهم. الثاني: التطبيق المنشور على باقة Starter المجانية في Replit يتوقف بعد 30 يومًا ويحمل شارة Replit، وهم يريدون موقعًا دائمًا على نطاقهم.

  • مناسب لك إذا كان تطبيقك من نوع Node أو Python أو موقعًا ثابتًا، فأوترا بيئة تطوير كاملة تشغّل الخادم وقاعدة البيانات معًا.
  • يحتاج تخطيطًا إذا كان مستخدموك يسجّلون الدخول بحسابات Replit عبر Replit Auth، لأن هذه الحسابات مرتبطة بمنصة Replit نفسها.
  • فكّر مرتين إذا كان تطبيقك يعتمد على خدمات مدمجة خاصة بـ Replit لا يوجد لها بديل واضح في كودك.

نعمل على تجهيز لقطات شاشة حقيقية وفيديو قصير يشرح خطوات الانتقال من Replit إلى أوترا، وسنضيفها هنا قريبًا. حتى ذلك الحين اتبع الخطوات المكتوبة بالترتيب.

ما الذي ينتقل وما الذي لا ينتقل

ما ينتقل من Replit إلى أوترا
العنصرينتقل؟ملاحظات
الكودنعميدعم Replit ربط المشروع بمستودع GitHub أو GitLab. بعد الدفع إلى GitHub تستورده في أوترا.
التصميمنعمكل ما في الواجهة موجود في ملفات المشروع، فينتقل مع الكود.
بيانات قاعدة البياناتيدويًاقاعدة Replit مبنية على Postgres من Neon. تأخذ نسخة من بيانات قاعدة الإنتاج وتستعيدها في PostgreSQL داخل مشروعك في أوترا.
حسابات المستخدمينيعتمدإن كنت تستخدم Clerk فهو حسابك الخاص وتتصل به بالمفاتيح نفسها. أما Replit Auth فيعتمد على حسابات Replit، فتحتاج طريقة دخول جديدة.
النطاقنعمتحذف سجلات Replit عند مسجّل النطاق وتضيف سجلات أوترا (TXT للتحقق و A).
الروابط والسيونعم بشرطإذا بقيت مسارات التطبيق نفسها وبقي النطاق نفسه.
المدفوعاتإعادة ربطالكود ينتقل، وتضيف مفاتيح البوابة وتحدّث عنوان webhook ليشير إلى الموقع الجديد.
الأسرار ومفاتيح APIلاأسرار Replit لا تخرج مع المستودع. تعيد إدخالها في «البيانات السرية» في أوترا.

خطوات الانتقال

  1. اربط المشروع بـ GitHub

    من مشروعك في Replit اربط مستودع GitHub وادفع كل الفروع التي تحتاجها. تأكد من وجود ملف الحزم (مثل package.json أو requirements.txt) في المستودع، لأن أوترا تعتمد عليه لتثبيت المكتبات.

  2. انسخ أسماء الأسرار

    افتح أداة الأسرار في Replit واكتب أسماء المتغيرات فقط، مثل DATABASE_URL و STRIPE_SECRET_KEY. القيم تنسخها لاحقًا مباشرة إلى أوترا، ولا تضعها في أي ملف.

  3. خذ نسخة من قاعدة الإنتاج

    انتبه: لديك قاعدتان، تطوير وإنتاج، والبيانات الحقيقية في قاعدة الإنتاج. أخرج منها نسخة بأداة pg_dump باستخدام رابط الاتصال الخاص بها.

    code
    pg_dump "$PROD_DATABASE_URL" --no-owner --no-acl -f replit-prod.sql
  4. استورد المستودع في أوترا

    أنشئ مشروعًا جديدًا في أوترا واختر الاستيراد من GitHub. تقرأ أوترا الكود وتشغّله على رابط معاينة خاص.

  5. أعد الأسرار

    أضف في «البيانات السرية» كل متغير بالاسم نفسه. إذا كان الكود يقرأ process.env.DATABASE_URL فاحتفظ بالاسم حتى لا تحتاج تعديلًا.

  6. أنشئ القاعدة واستعد البيانات

    اطلب من أوترا تجهيز PostgreSQL داخل المشروع، ثم استعادة ملف النسخة. بعدها راجع الجداول والسجلات في معاينة «قاعدة البيانات».

    code
    psql "$DATABASE_URL" -f replit-prod.sql
  7. استبدل Replit Auth إن وُجد

    اطلب من أوترا بناء تسجيل دخول بالبريد وكلمة المرور أو برمز يصل إلى الجوال، مع ربط الحسابات الجديدة بسجلات المستخدمين الحالية عبر البريد.

  8. انشر ونقل النطاق

    اضغط «نشر» وجرّب على الرابط الفرعي المجاني. بعدها أضف نطاقك من «نطاق مخصّص» واتبع سجلات DNS الظاهرة.

طلب جاهز لنقل القاعدةجرّبه في أوترا

استوردت تطبيقي من Replit، وهو تطبيق Node مع Postgres. شغّله هنا، وجهّز قاعدة PostgreSQL داخل المشروع، واستعد ملف replit-prod.sql، ثم تأكد أن صفحة الطلبات تعرض البيانات القديمة.

أول 3 أشياء بعد الانتقال

  1. قارن عدد السجلات في أهم جدولين (مثل الطلبات والعملاء) بين Replit وأوترا، فالرقم نفسه يعني أن النقل تم دون فقد.
  2. جرّب تسجيل الدخول بحساب حقيقي قديم، خصوصًا إذا غيّرت طريقة الدخول.
  3. حدّث عنوان webhook في لوحة بوابة الدفع، ثم نفّذ عملية تجريبية صغيرة بمدى أو بطاقة اختبار.

حافظ على ترتيبك في البحث

التطبيقات على Replit تُنشر غالبًا على رابط فرعي من Replit، أو على نطاق مخصّص أضفته عبر سجلات A و TXT. إذا كان لديك نطاق مخصّص فأنت في وضع جيد: انقل السجلات إلى أوترا ويبقى العنوان نفسه أمام Google.

أما إذا كانت زياراتك تأتي إلى الرابط الفرعي من Replit، فلا تستطيع تحويله من خارج Replit. الحل العملي: أبقِ نسخة Replit تعمل فترة قصيرة، وضع في صفحاتها رابطًا واضحًا إلى العنوان الجديد، وسجّل نطاقك الجديد في Google Search Console.

  • حافظ على مسارات الصفحات العامة كما هي، مثل /menu و /book.
  • إذا غيّرت مسارًا، اطلب من أوترا إضافة تحويل 301 داخل الخادم.
  • أرسل خريطة الموقع الجديدة إلى Search Console بعد أن يعمل النطاق.

أسئلة شائعة

قاعدة الإنتاج، لأنها التي تحتوي بيانات زوّارك الحقيقية: الطلبات والتسجيلات والرسائل. قاعدة التطوير في Replit منفصلة وغالبًا فيها بيانات تجريبية فقط. يمكنك نقل الهيكل من أي منهما، لكن البيانات تأتي من الإنتاج.

صفحات ذات صلة