بندر البطاطي نشر 15 فبراير أرسل تقرير نشر 15 فبراير هل اقدر اعدل على ملفات الترحيل اللي تم إنشاؤها من قبل لارافيل, مثلا جدول users الذي يتم انشاؤه من قبل لارافيل ابغى اغير اسمه الى students وكمان ابغى احذف اعمدة فيه واعدل عليه .. هل اقدر اعدل بدون ماتواجهني مشاكل ؟ 1 اقتباس
0 Taha Khaled2 نشر 15 فبراير أرسل تقرير نشر 15 فبراير بطبع يمكنك التعديل كما تريد ساعطيك مثال علي جدول المستخدمين ويمكنك تطبيقه علي اي جدول لديك في المشروع يمكنك ايجاد جميع الجداول داخل هذه المسار database/migrations ستجد جميع الجداول الخاصه بالمشروع من ضمنهم جدول المستخدمين عند انشاء مشروع لارافل جديد يكون جدول المستخدمين بهذه الشكل <?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; class CreateUsersTable extends Migration { public function up() { Schema::create('users', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->timestamp('email_verified_at')->nullable(); $table->string('password'); $table->rememberToken(); $table->timestamps(); }); } public function down() { Schema::dropIfExists('users'); } } اذا كنت تريد تغير اسم الجدول بدالا من users الي اي شئ اخر مثلا students فكل ماعليك تغير كلمة users الي students بهذه الطريقه <?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; class CreateUsersTable extends Migration { public function up() { Schema::create('students', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->timestamp('email_verified_at')->nullable(); $table->string('password'); $table->rememberToken(); $table->timestamps(); }); } public function down() { Schema::dropIfExists('users'); } } هذه بنسبه لاسم الجدول ماذا عن الحقول ايضا الحقول يمكنك تغيرها هذه الاعمده تمثل جميع الحقول الخاصه بالجدول $table->id(); $table->string('name'); $table->string('email')->unique(); $table->timestamp('email_verified_at')->nullable(); $table->string('password'); $table->rememberToken(); $table->timestamps(); علي سبيل المثال اذا كنت تريد تغير حقل البريد (email) بحقل الهاتف سيكون الجدول بهذه الشكل <?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; class CreateUsersTable extends Migration { public function up() { Schema::create('students', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->timestamp('email_verified_at')->nullable(); $table->string('password'); $table->rememberToken(); $table->timestamps(); }); } public function down() { Schema::dropIfExists('users'); } } في النهايه عليك ترحيل الجداول من جديد ببسااطه عن طريق تشغيل هذه الامر في الترمينال الخاص بمشروعك php artisan migrate:fresh في نهاية عند تغير اسماء الحقول او الجداول او الكلاس في لارافل توصي ببعض القواعد التي من المفترض اتباعها لتحسين مشروعك هذه بعض القواعد 1. التسميات الواضحة والمفهومة: اختر أسماءً تعكس الغرض والمعنى الحقيقي للجداول والحقول. على سبيل المثال، اسم الجدول يجب أن يوضح ماهية البيانات التي يحتويها مثل users, posts, comments، وهكذا. 2. التسميات بالجمع: استخدم صيغة الجمع لتسمية الجداول التي تحتوي على مجموعة من البيانات، مثل الجدول users بدلاً من user. 3. Snake Case للجداول والحقول: استخدم تنسيق Snake Case (أو الحروف الصغيرة والشرطات السفلية بين الكلمات) لتسمية الجداول والحقول. مثال: first_name, last_name, created_at. 4. التسميات التي تبدأ بالفعل: للحقول التي تعبر عن حالة أو إجراء، يُفضل أن تبدأ بفعل. مثال: is_active, has_comments. 5. التسميات الواضحة للعلاقات: عند استخدام العلاقات بين الجداول، اختر أسماء توضح نوع العلاقة. مثال: user_id للمفتاح الخارجي في جدول يشير إلى جدول users. 6. تجنب الاختصارات غير المفهومة: تجنب استخدام الاختصارات التي لا يمكن فهمها بسهولة. استخدم الكلمات الكاملة للتسميات لجعل الكود أكثر وضوحًا وقابلية للفهم. 7. التسميات المفصولة: استخدم الشرطة السفلية أو الشرطة لفصل الكلمات في الأسماء بدلاً من استخدام الفاصلة أو الفراغ. مثال: created_at, user_id. 8. الحفاظ على التوحيد: حافظ على توحيد التسميات في جميع أجزاء التطبيق لتسهيل فهم وصيانة الكود. 9. باستخدام هذه القواعد، يمكنك تحسين قراءة وصيانة تطبيقك وتجنب المشاكل التي قد تنشأ من تسميات غير 1 اقتباس
0 محمد عاطف17 نشر 15 فبراير أرسل تقرير نشر 15 فبراير بالاضافة للحل السابق اذا قمت بتغير اسم الجدول و قمت بتبديل اسم العمود الخاص بالايميل او الباسورد فسيقابلك مشكلتان. اولا اذا قمت بتغير اسم الجدول فيجب ان تنشأ model جديد ليمثل الجدول الجديد . يمكنك انشاء ال model عن طريق هذا الامر , لنفرض ان الجدول الجديد يسمى students . php artisan make:model Student او يمكنك استخدام الملف الخاص بلارافيل User اذا لم تكن تريد ان تنشأ ملف جديد . ويمكنك كتابة هذا السطر فى الملف وسيتعامل ملف ال User مع الجدول الجديد protected $table = 'students'; اذا كنت تستخدم laravel Authentication وقمت بتغير الحقل email فسيجب ان تقوم بتغيرات فى دوال ال login و ال register ليستخدمو الحقل الجديد 1 اقتباس
السؤال
بندر البطاطي
هل اقدر اعدل على ملفات الترحيل اللي تم إنشاؤها من قبل لارافيل, مثلا جدول users الذي يتم انشاؤه من قبل لارافيل ابغى اغير اسمه الى students وكمان ابغى احذف اعمدة فيه واعدل عليه .. هل اقدر اعدل بدون ماتواجهني مشاكل ؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.