البرمجة

إضافة قيد فحص في Laravel Migration

لإضافة القيود (Constraints) في Laravel Migration، يمكنك استخدام الـ DB::statement لتنفيذ الأوامر الخاصة بقاعدة البيانات. في حالتك، يمكنك إضافة الـ CHECK constraint كالتالي:

php
use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; class CreatePayrollTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('payroll', function (Blueprint $table) { $table->increments('id'); $table->integer('PositionID'); $table->decimal('Salary', 9, 2); }); // Add CHECK constraint DB::statement('ALTER TABLE payroll ADD CONSTRAINT check_salary CHECK (Salary < 150000.00)'); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('payroll'); } }

في الدالة up، أنشأنا الجدول باستخدام Schema::create كالمعتاد، ثم استخدمنا DB::statement لإضافة الـ CHECK constraint. في الحالة العادية، يجب أن يتم إلغاء هذا القيد في الدالة down باستخدام Schema::dropIfExists، ولكن يمكنك تجاهل ذلك إذا كنت لا ترغب في إلغاء الجدول في عملية الرجوع (rollback).

يرجى ملاحظة أن بعض أنظمة قواعد البيانات لا تدعم الـ CHECK constraints، لذا تأكد من أن قاعدة البيانات الخاصة بك تدعمها قبل استخدامها.

المزيد من المعلومات

بالطبع! يمكننا إضافة بعض المعلومات الإضافية عن كيفية تعامل Laravel مع الـ CHECK constraints:

  1. قيد الفحص (CHECK Constraint): في بعض أنظمة إدارة قواعد البيانات، يتم استخدام CHECK constraint لتحقق من صحة القيم المُدخلة إلى الجدول وفقًا لشرط محدد. على الرغم من أن MySQL و SQLite لا تدعم القيود التحقق، إلا أن PostgreSQL يدعمها.

  2. التنفيذ باستخدام DB::statement: عندما تحتاج إلى استخدام عبارات SQL مخصصة في ملف الترحيل، يمكنك استخدام DB::statement. هذا يُتيح لك تنفيذ العبارات SQL المعقدة بدقة.

  3. إلغاء القيد في الـ down دالة: في دالة down، يُنصح بإلغاء القيد المضاف إذا كانت العملية قابلة للرجوع. يتم ذلك عن طريق استخدام DB::statement لإزالة القيد.

  4. تأكد من دعم القيود: قبل استخدام القيود في Laravel Migration، تأكد من أن نظام قاعدة البيانات الذي تستخدمه يدعم هذه القيود.

مقالات ذات صلة

زر الذهاب إلى الأعلى

هذا المحتوى محمي من النسخ لمشاركته يرجى استعمال أزرار المشاركة السريعة أو تسخ الرابط !!