-- Laravel kodunun beklediği geçici market fotoğraf kolonları.
-- 001 şemasını ezmez; tekrar çalıştırılabilir.
SET NAMES utf8mb4;
USE `raf_gezgini`;

SET @need_nullable := (
  SELECT IF(IS_NULLABLE = 'NO', 1, 0)
  FROM information_schema.COLUMNS
  WHERE TABLE_SCHEMA = DATABASE()
    AND TABLE_NAME = 'market_sube_fotograflari'
    AND COLUMN_NAME = 'market_subesi_id'
);
SET @sql := IF(@need_nullable = 1,
  'ALTER TABLE `market_sube_fotograflari` MODIFY `market_subesi_id` BIGINT NULL',
  'SELECT 1');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

SET @exists := (
  SELECT COUNT(*) FROM information_schema.COLUMNS
  WHERE TABLE_SCHEMA = DATABASE()
    AND TABLE_NAME = 'market_sube_fotograflari'
    AND COLUMN_NAME = 'gecici_market_id'
);
SET @sql := IF(@exists = 0,
  'ALTER TABLE `market_sube_fotograflari` ADD COLUMN `gecici_market_id` CHAR(36) NULL AFTER `market_subesi_id`',
  'SELECT 1');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

SET @idx := (
  SELECT COUNT(*) FROM information_schema.STATISTICS
  WHERE TABLE_SCHEMA = DATABASE()
    AND TABLE_NAME = 'market_sube_fotograflari'
    AND INDEX_NAME = 'ix_market_sube_fotograflari_gecici_market'
);
SET @sql := IF(@idx = 0,
  'ALTER TABLE `market_sube_fotograflari` ADD INDEX `ix_market_sube_fotograflari_gecici_market` (`gecici_market_id`, `olusturulma_tarihi`)',
  'SELECT 1');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
