-- تعديل نظام السراير: فصل شهر بداية احتساب الإيجار عن تاريخ الحجز.
-- لا يحذف أي بيانات، ويمكن تشغيله أكثر من مرة بأمان.

SET @rental_start_column_sql = IF(
    EXISTS(
        SELECT 1
        FROM information_schema.COLUMNS
        WHERE TABLE_SCHEMA = DATABASE()
          AND TABLE_NAME = 'bookings'
          AND COLUMN_NAME = 'rental_start_month'
    ),
    'SELECT 1',
    'ALTER TABLE `bookings` ADD COLUMN `rental_start_month` char(7) DEFAULT NULL AFTER `created_at`'
);

PREPARE rental_start_column_stmt FROM @rental_start_column_sql;
EXECUTE rental_start_column_stmt;
DEALLOCATE PREPARE rental_start_column_stmt;

UPDATE `bookings`
SET `rental_start_month` = CASE
  WHEN `notes` REGEXP 'شهر إيجار السرير: [0-9]{4}-[0-9]{2}'
    THEN SUBSTRING(`notes`, LOCATE('شهر إيجار السرير: ', `notes`) + 18, 7)
  WHEN `notes` REGEXP 'شهر الإيجار: [0-9]{4}-[0-9]{2}'
    THEN SUBSTRING(`notes`, LOCATE('شهر الإيجار: ', `notes`) + 13, 7)
  ELSE DATE_FORMAT(`created_at`, '%Y-%m')
END
WHERE `rental_start_month` IS NULL
  AND `booking_type` = 'bed';
