<?php
declare(strict_types=1);

use Celena\Core\Database\Connection;
use Celena\Core\Database\Schema;

/**
 * Добавляет колонку url_slug в shop_seo_filters — сегмент URL после
 * /shop/category/{cat-slug}/, по которому правило отдаётся как ЧПУ.
 * NULL = правило работает только в режиме подмены meta поверх обычного query.
 */
return function (Schema $schema, Connection $conn): void {
    if (!$schema->hasTable('shop_seo_filters')) {
        return;
    }
    if (!$schema->hasColumn('shop_seo_filters', 'url_slug')) {
        $tbl = $conn->table_q('shop_seo_filters');
        $col = $conn->quoteId('url_slug');
        // VARCHAR(120) — достаточно для slug «color-chervonyi-zhovtyi-bez-bilogo».
        $conn->run("ALTER TABLE $tbl ADD COLUMN $col VARCHAR(120) NULL");
        // Индекс по url_slug для быстрого поиска при роутинге (и для уникальности
        // оставим на уровне приложения — мульти-категорийная уникальность).
        try {
            $conn->run("CREATE INDEX shop_seo_filters_url_slug_idx ON $tbl ($col)");
        } catch (\Throwable) {}
    }
};
