the-tip-top-backend/database/migrations/fix-tickets-schema.sql
2025-11-17 23:47:54 +01:00

28 lines
1.1 KiB
SQL

-- Migration pour corriger le schéma de la table tickets
-- Permet de créer des tickets non assignés (status=NULL, user_id=NULL)
-- 1. Modifier la colonne user_id pour accepter NULL
ALTER TABLE tickets
ALTER COLUMN user_id DROP NOT NULL;
-- 2. Modifier la colonne status pour ne pas avoir de valeur par défaut
ALTER TABLE tickets
ALTER COLUMN status DROP DEFAULT;
-- 3. Modifier la colonne played_at pour ne pas avoir de valeur par défaut
ALTER TABLE tickets
ALTER COLUMN played_at DROP DEFAULT;
-- 4. Mettre à jour les tickets existants qui ont été mal créés
-- (tickets avec PENDING mais sans user_id ou avec played_at par défaut)
UPDATE tickets
SET
status = NULL,
user_id = NULL,
played_at = NULL
WHERE user_id IS NULL OR played_at = created_at;
COMMENT ON COLUMN tickets.user_id IS 'NULL = ticket non joué, UUID = ticket joué par cet utilisateur';
COMMENT ON COLUMN tickets.status IS 'NULL = ticket non joué, PENDING/CLAIMED/REJECTED = statut après jeu';
COMMENT ON COLUMN tickets.played_at IS 'NULL = ticket non joué, TIMESTAMP = date de jeu';