<?php
declare(strict_types=1);

return [
    'up' => "CREATE TABLE `sa_facilities` (
    `id` BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    `code` VARCHAR(30) NOT NULL,
    `name_ar` VARCHAR(300) NOT NULL,
    `name_en` VARCHAR(300) NULL,
    `facility_type` VARCHAR(30) NOT NULL COMMENT 'pool, court, pitch, gym, track, multipurpose',
    `discipline_id` BIGINT UNSIGNED NULL COMMENT 'primary discipline, NULL for multipurpose',
    `location_description` VARCHAR(500) NULL,
    `operating_hours_json` JSON NOT NULL COMMENT '{\"start\":\"06:00\",\"end\":\"22:00\",\"slot_minutes\":60}',
    `is_active` TINYINT(1) NOT NULL DEFAULT 1,
    `is_archived` TINYINT(1) NOT NULL DEFAULT 0,
    `archived_at` TIMESTAMP NULL,
    `archived_by` BIGINT UNSIGNED NULL,
    `branch_id` BIGINT UNSIGNED NULL,
    `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    `updated_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    `created_by` BIGINT UNSIGNED NULL,
    `updated_by` BIGINT UNSIGNED NULL,
    UNIQUE KEY `uq_sa_fac_code` (`code`),
    INDEX `idx_sa_fac_type` (`facility_type`),
    INDEX `idx_sa_fac_disc` (`discipline_id`),
    INDEX `idx_sa_fac_active` (`is_active`, `is_archived`),
    CONSTRAINT `fk_sa_fac_disc` FOREIGN KEY (`discipline_id`) REFERENCES `sa_disciplines`(`id`) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;",
    'down' => "DROP TABLE IF EXISTS sa_facilities;"
];
