-- Ürünler için düz kanonik URL: /{slug} — /urun/{slug} satırları güvenli 301 ile yönlendirir.
-- Çakışma: aynı locale+path zaten başka kayıt (ör. kategori) ise INSERT atlanır.
-- idempotent

INSERT INTO routes (locale, path, type, entity_id, redirect_to, is_active, priority)
SELECT '', CONCAT('/', p.slug), 'product', p.id, NULL, 1, 30
FROM products p
WHERE COALESCE(p.is_active, 1) = 1
  AND TRIM(COALESCE(p.slug, '')) <> ''
  AND NOT EXISTS (
    SELECT 1 FROM routes r
    WHERE r.locale = '' AND r.path = CONCAT('/', p.slug)
  );

UPDATE routes r
INNER JOIN products p ON r.entity_id = p.id AND r.type = 'product'
INNER JOIN routes r_flat
  ON r_flat.locale = ''
  AND r_flat.path = CONCAT('/', p.slug)
  AND r_flat.type = 'product'
  AND r_flat.entity_id = p.id
SET r.redirect_to = CONCAT('/', p.slug),
    r.redirect_status = 301
WHERE r.locale = ''
  AND r.path = CONCAT('/urun/', p.slug);
