-- #migration 2026_07_29_143
-- Avec l'acompte payé dès la candidature (avant l'entretien), payment_status
-- passe à 'paye' bien avant que l'accès (rôle/offre) ne soit accordé à la
-- validation. activated_at distingue clairement "acompte réglé" de "accès
-- effectivement activé", pour que _activate_paid_candidature() ne soit
-- jamais rejouée deux fois par erreur.
ALTER TABLE candidatures ADD COLUMN IF NOT EXISTS activated_at TIMESTAMP NULL AFTER reviewed_at;
