زينة العمري نشر 14 مايو أرسل تقرير نشر 14 مايو كيف حالكم ؟ حابة استفسر عن موضوع في حال انا عندي مشروع شغال وانطلب تعديل مني وهالتعديل يلزمه حقل اضافي كيف اضيف هذا الحقل بوجود بيانات دون ان افقد البيانات الموجودة في الداتابيز ؟ وماهي افضل الطرق والممارسات المتبعة لذلك؟ 2 اقتباس
0 سمير عبود نشر 15 مايو أرسل تقرير نشر 15 مايو إن كان المشروع قيد الإطلاق، يٌفضل أخذ نُسخ إحتياطية لقاعدة البيانات بشكل دوري، حتى يتم الرجوع لها عند الحاجة أو في حالة حدوث مشكلة ما. يمكنك الإستفادةمن هذه المساهمة لتحقيق ذلك: أيضاً إن كان المشروع قيد الإطلاق يُفضل العمل على نُسخة تجريبية بعيداً عن النُسخة الأساسية للمشروع، وعدم إيداع التعديلات الجديدة إلا عند التأكد من عملها بشكل سليم. لإضافة حقل جديد في جدول به بيانات يُمكنك إضافة الحقل بشكل يدوي من خلال البرنامج التفاعلي لإدارة قواعد البيانات الذي يتم إستخدامه أو عبر سطر الأوامر، أو يمكنك ذلك من خلال إضافة ملف تهجير جديد يقوم بهذه العملية ثم تنفيذ عملية التهجير و الشرح موجود في هذه المساهمة: اقتباس
0 Ali Ibrahim12 نشر 15 مايو أرسل تقرير نشر 15 مايو (معدل) قم بإنشاء نسخة احتياطية من بياناتك (تصديرها) قبل القيام بالتغييرات وذلك في حال استخدام MySql بطريقة بسيطة بالذهاب الى phpmyadmin واختبار قاعدة البيانات المطلوبة وثم القيام بصدير ينتج ملف ذو لاحقة sql توجد فيه نسخة احطياتية لبياناتك ويوجد طرق اخرى لكن هذه اسهل واحدة . وعندما تريد استردادها قم بimport الى قاعدة بيانات فارغة واختيار الملف الذي قمت بتصديره مسبقا. يمكن اضافة الحقل الجديد دون مشاكل عبر طريقتين نعطي مثال اضافة phone_number الى نموذج ال User وداخل تابع up قم باضافة الحق الجديد عن طريق : اضافة الحقل في ملف الترحيل لكن يجب وضع له قيمة افتراضية مما يعطي كل البيانات القديمة هذه القيمة الافتراضية: قم باجراء التعليمة التي تقوم بانشاء ملفmigration جديد يوجد في المسار database/migrations php artisan make:migration add_phone_number_users_table ثم وضع قيمة افتراضية داخل الجدول الاتي ولتكن 55555 public function up() { Schema::table('users', function (Blueprint $table) { $table->integer('phone_number')->default(55555); }); } ينتج اضافة حقل جديد لكل البيانات القديمة مع قيمة 55555 لكل المستخدمين . او بوضع الحقل اسمح بان يكون null عبر public function up() { Schema::table('users', function (Blueprint $table) { $table->integer('phone_number')->nullable(); }); } ينتج اضافة حقل جديد لكل البيانات القديمة تأخذ قيمة null لكل المستخدمين . بعدها تنفيذ امر تهجير البيانات php artisan migrate وهذا تكون اضفت حقل جديد دون التاثير على البيانات تم التعديل في 15 مايو بواسطة Ali Ibrahim12 اقتباس
السؤال
زينة العمري
كيف حالكم ؟
حابة استفسر عن موضوع في حال انا عندي مشروع شغال وانطلب تعديل مني وهالتعديل يلزمه حقل اضافي
كيف اضيف هذا الحقل بوجود بيانات دون ان افقد البيانات الموجودة في الداتابيز ؟
وماهي افضل الطرق والممارسات المتبعة لذلك؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.