ترحيلات قواعد البيانات في الإنتاج هي الجزء الأكثر خطورة. يضمن نمط التوسيع والانكماش تغييرات بدون توقف.
نمط التوسيع والانكماش
المرحلة 1: أضف العمود الجديد بجانب القديم
المرحلة 2: املأ البيانات وحدّث التطبيق
المرحلة 3: أزل العمود القديم بعد الانتقالمثال: إعادة تسمية عمود بأمان
// المرحلة 1: أضف العمود الجديد
Schema::table('users', function (Blueprint $table) {
$table->string('full_name')->nullable();
});
// المرحلة 2: املأ البيانات
DB::statement('UPDATE users SET full_name = name');
// المرحلة 3: أزل العمود القديم
Schema::table('users', function (Blueprint $table) {
$table->dropColumn('name');
});ممارسات آمنة
$table->string('timezone')->default('UTC');
$table->string('avatar_url')->nullable();القواعد
- لا تعد تسمية أو تحذف الأعمدة في نفس النشر
- اجعل التغييرات متوافقة مع الإصدارات السابقة
- اختبر على نسخة من بيانات الإنتاج