اذهب إلى المحتوى
  • 0

كيفية اضافة حقل في قواعد البيانات لارافل

Dzhwar Kamaran

السؤال

السلام عليكم..

مرحبا, عندنا مشروع كامل بـ Laravel مع MySQL, والان نريد اضافة حقول و جداول جديدة في المشروع بعد عدة اشهر في Production, و المشكلة الان يوجد الاف ريكورد في Database. اعرف اذا بدنا نزيد حقل مثلا في جدول users نكتب:

php artisan make:migration add_phone_to_users --table=users

ثم

php artisan migrate

هنا السؤال:

نحن كالمبرمج في Development mode عشرات مرات نكتب:

php artisan migrate:fresh --seed

لغرض Testing و Debugging, لكن بعد ما يوجد ريكوردات حقيقة و اضفنا حقول و جداول جديدة كيف نعمل fresh او refresh ؟ بدون فقد ريكوردات حقيقية ؟

شكرا..

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 2

أظن أن من الخطأ إستعمال نفس قواعد البيانات للتحقق Testing و حل المشاكل Debugging , بهاته الطريقة ستكون البيانات الحقيقية عرضة للفقدان كليا . 

الطريق الأقصر : و هي الإستعانة بالكثير من الحلول البديلة من مثل :

  • تحضير نسخ إحتياطية Backups لقواعد البيانات قبل تجربة التطبيق أو قبل تحديث التهجير لقواعد البيانات , ثم إعادة التهجير بعد التحقق .
  • تحضير نسخة إحتياطية تجريبية للتطبيق , يمكن  إستعمال حزم من مثل laravel-backup من مجموعة spatie لعمل ذلك و التجربة عليه . 

لكن الأفضل ,و الطريق الأطول, يكون بفصل عملية التحقق Testing بشكل كامل عن نفس إتصال قواعد البيانات الذي يستخدمه تطبيقك . و لارافيل تجعل ذلك سهلا مع phpunit . 

فعلى سبيل المثال : إن كان تطبيقك يستخدم Mysql فعمليات التحقق يجب أن تستخدم ذاكرة مؤقتة و إتصال sqlite .

و إن لم يتم كتابة الاختبارات Tests بشكل إما مواز أو مسبق للأكواد فسيجب لتحقيق هذا كتابة الإختبارات اللازمة لكل أجزاء التطبيق حتى يتم تحقيق هذا الأخير و إختبار التطبيق نفسه , لا نسخة إحتياطية منه ,في بيئة التطوير أو الإنتاج و بدون أي فقد لأية بيانات .

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...