Mohammad Yousef3 نشر 1 أبريل 2021 أرسل تقرير نشر 1 أبريل 2021 كيف يمكنني التحديث على حقل foreign key موجود مسبقًا في ملف تهجير البيانات ؟ Schema::create('table_one', function(Blueprint $table) { $table->increments('id'); $table->string('name'); $table->integer('table_two_id')->unsigned(); $table->foreign('table_two_id')->references('id')->on('table_two'); $table->timestamps(); }); أريد تغيير بعض القيود ليصبح هكذا: $table->foreign('table_two_id')->references('id')->on('table_two')->onDelete('cascade'); اقتباس
0 Waleed Alfakiat نشر 1 أبريل 2021 أرسل تقرير نشر 1 أبريل 2021 بدايةً قم بإنشاء ملف تهجير بيانات لتعديل الجدول الحالي ونسميه مثلًا "update_foreign" عن طريق الأمر التالي: php artisan make:migration update_foreign --table table_one حيث أنّ: اقتباس update_foreign: اسم ملف التهجير --table table_one: إشارة لاسم الجدول الحالي المراد تعديله وفي داخل الملف نقوم بحذف قيد foreign key ومن ثمّ إضافة القيود الجديدة على الحقل كما هو مطلوب: public function up() { Schema::table('table_one', function (Blueprint $table) { $table->dropForeign(['table_two_id']); // حذف القيد السابق $table->foreign('table_two_id') // إضافة القيد الجديد ->references('id') ->on('table_two') ->onDelete('cascade'); }); } بعد ذلك نقوم بتهجير البيانات من خلال الأمر: php artisan migrate 1 اقتباس
0 بلال زيادة نشر 2 أبريل 2021 أرسل تقرير نشر 2 أبريل 2021 قم بحذف foreign key ثم إضافته مرة أخرى وتشغيل php artisan migrate public function up() { Schema::table('table_one', function (Blueprint $table) { $table->dropForeign(['table_two_id']); $table->foreign('table_two_id') ->references('id') ->on('table_two') ->onDelete('cascade'); }); } اقتباس
السؤال
Mohammad Yousef3
كيف يمكنني التحديث على حقل foreign key موجود مسبقًا في ملف تهجير البيانات ؟
أريد تغيير بعض القيود ليصبح هكذا:
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.