-- Isoler le stock standard et personnalisé par variante
ALTER TABLE `station_product_stocks`
    ADD COLUMN `variant_type` ENUM('STANDARD', 'CUSTOMIZED') NOT NULL DEFAULT 'STANDARD',
    ADD COLUMN `variant_key` VARCHAR(191) NOT NULL DEFAULT 'STANDARD';

UPDATE `station_product_stocks`
SET
    `variant_type` = 'STANDARD',
    `variant_key` = 'STANDARD'
WHERE `variant_key` IS NULL OR `variant_key` = '';

-- Créer d'abord le nouvel index non-unique (station_id, product_id) pour couvrir les FK
-- avant de supprimer l'ancien index unique qui les couvrait.
CREATE INDEX `station_product_stocks_station_id_product_id_idx`
    ON `station_product_stocks`(`station_id`, `product_id`);

-- L'ancienne unique peut maintenant être supprimée sans casser les contraintes FK
DROP INDEX `station_product_stocks_station_id_product_id_key` ON `station_product_stocks`;

CREATE UNIQUE INDEX `sps_station_product_variant_uq`
    ON `station_product_stocks`(`station_id`, `product_id`, `variant_type`, `variant_key`);


