Mahmoud Alrashidi نشر 16 فبراير 2021 أرسل تقرير نشر 16 فبراير 2021 لدي جدول بيانات به مجموعة من السجلات و أريد إضافة عمود جديد لهذا الجدول بدون فقدان البيانات الحالية كيف استطيع عمل ذلك في laravel 1 اقتباس
0 سمير عبود نشر 16 فبراير 2021 أرسل تقرير نشر 16 فبراير 2021 بإمكانك إستخدام أمر إنشاء ملف تهجير فملفات التهجير ليست مُخصصة فقط لإنشاء الجداول و إنما تُمكنك أيضاً من إضافة عمود جديد لجدول بيانات أيضاً. لنفترض أننا نريد إضافة عمود age للجدول users فيتم ذلك عن طريق الأمر التالي: php artisan make:migration add_age_to_users_table هذا الأمر سيُنشئ لنا ملف migration جديد و سيحتوي على الصنف التالي: class AddAgeToUsersTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::table('users', function (Blueprint $table) { }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::table('users', function (Blueprint $table) { }); } } الآن نقوم بإضافة العمود في الدالة up و من خلال الدالة down نقوم بحذفه كما هو موضح أدناه: <?php public function up() { Schema::table('users', function (Blueprint $table) { $table->unsignedTinyInteger('age')->nullable()->after('username'); }); } و هذا يعني أننا نريد إضافة العمود age على أنه unsignedTinyInteger إضافة الى أنه سيكون فارغ إفتراضياً و سيُضاف بعد العمود username. أما الدالة down ستكون بهذا الشكل: <?php public function down() { Schema::table('users', function (Blueprint $table) { $table->dropColumn('age'); }); } و بالتالي كل ما عليك الآن هو تنفيذ امر التهجير: php artisan migrate هذا الأمر سيُنفذ الدالة up و يُضيف العمود الجديد. أما الدالة down يتم تنفيذها عند تنفيذ أمر rollback الذي سيحذف العمود age. 2 اقتباس
السؤال
Mahmoud Alrashidi
لدي جدول بيانات به مجموعة من السجلات و أريد إضافة عمود جديد لهذا الجدول بدون فقدان البيانات الحالية كيف استطيع عمل ذلك في laravel
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.