-- ============================================================
-- Migración 007 · plans.slug (URLs amigables para la tienda)
-- ============================================================
-- Descripción:
--   Agrega la columna `slug` a `plans` para construir URLs
--   legibles al pedir un plan:
--     /tienda/hosting/pedir/basico   (antes: .../pedir/1)
--
--   El backend genera/valida el slug al crear o editar planes,
--   por lo que el backfill de abajo sólo cubre los planes
--   existentes antes de aplicar esta migración.
--
-- Uso:
--   1. Ve a phpMyAdmin → base `astrostudio_astrostudio` → pestaña "SQL".
--   2. Pega todo este contenido y pulsa "Continuar".
-- ============================================================

ALTER TABLE `plans` ADD COLUMN `slug` varchar(120) DEFAULT NULL AFTER `name`;

UPDATE `plans` SET `slug` = LOWER(TRIM(`name`));

UPDATE `plans` SET `slug` = REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
  `slug`,
  'á','a'),'é','e'),'í','i'),'ó','o'),'ú','u'),'ñ','n');

UPDATE `plans` SET `slug` = TRIM(BOTH '-' FROM REPLACE(REPLACE(REPLACE(REPLACE(
  REPLACE(`slug`,' ','-'),'_','-'),'.','-'),'--','-'),'--','-'));

UPDATE `plans` SET `slug` = CONCAT('plan-', `id`) WHERE `slug` IS NULL OR `slug` = '';

ALTER TABLE `plans` MODIFY COLUMN `slug` varchar(120) NOT NULL;
ALTER TABLE `plans` ADD UNIQUE KEY `plans_slug_unique` (`slug`);
