28 lines
1.1 KiB
SQL
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';
|