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

السؤال

نشر (معدل)

لماذا لا يقبل ملف التعديل على الجدول في حالتي يحمل الاسم (2021_04_05_005931_change_posts_create_table) التعديل مرتين على عمودا وبدل من ذلك يرمي العبارة (Nothing to migrate.) رغم تأكدي من تغيير القيم وإعادة حفظ الملف؟.

تم التعديل في بواسطة معتز المشكلي
خطأ في علامات الترقيم

Recommended Posts

  • 0
نشر

يمكنك من خلال الأمر التالي إضافة إي حقل لجدول تم زرعه بقاعدة البيانات 

php artisan migrate:make add_paid_to_posts

في لارافل 5+ يمكنك استخدام الأمر التالي 

php artisan make:migration add_paid_to_posts_table --table=posts

في ملف قاعدة البيانات في مجلد databases/migrations يمكنك التعديل على الملف ليصبح بهذا الشكل 

public function up()
{
    Schema::table('posts', function($table) {
        $table->integer('paid');
    });
}

و لا تنسى إضافة rollback 

public function down()
{
    Schema::table('posts', function($table) {
        $table->dropColumn('paid');
    });
}

ثم تنفيذ الأمر التالي 

php artisan migrate

 

  • 0
نشر (معدل)

تتيح Laravel العمل إنشاء الجداول في قاعدة البيانات مع المرونة في تعديلها في وقت لاحق عن طريق التهجير مرة أخرى

فعند القيام بإنشاء جدول نقوم بكتابة الأمر التالي:

php artisan make:migration file_migration_name --create table_name
                                                 ^^^^^^

حيث أنّ الأمر:

--create

يعني أن ملف التهجير الجديد يعمل على إنشاء جدول باسم "table_name"

ماذا لو أردنا التعديل على جدول حالي ؟

ببساطة: نقوم بتعديل الأمر من (--create) إلى (--table) وتمرير اسم الجدول الحالي المُراد تعديله

فيصبح هكذا:

php artisan make:migration file_migration_name --table table_name
                                                 ^^^^^

وبداخل الملف نضع التعديلات

public function up()
{
	Schema::table('posts', function($table) {
		$table->integer('new_col');
		...
	});
}

ونضع كود rollback في الدالة down وهي الجزئية الخاصة بحذف الحقل عند تنفيذ أمر التراجع

public function down()
{
	Schema::table('posts', function($table) {
		$table->dropColumn('new_col');
	});
}

ولكن بعد تنفيذ أمر التهجير

php artisan migrate

لا يمكن التعديل على الملف السابق, بل نقوم بإنشاء ملف تهجير جديد ونكرر ما فعلناه

تم التعديل في بواسطة Alfakiat

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...