-- ============================================ -- MIGRATION: Ajout des champs démographiques -- ============================================ -- Créer le type ENUM pour le genre DO $$ BEGIN CREATE TYPE gender_type AS ENUM ('MALE', 'FEMALE', 'OTHER', 'NOT_SPECIFIED'); EXCEPTION WHEN duplicate_object THEN null; END $$; -- Ajouter les colonnes gender et date_of_birth à la table users si elles n'existent pas DO $$ BEGIN -- Ajouter la colonne gender si elle n'existe pas IF NOT EXISTS ( SELECT 1 FROM information_schema.columns WHERE table_name = 'users' AND column_name = 'gender' ) THEN ALTER TABLE users ADD COLUMN gender gender_type DEFAULT 'NOT_SPECIFIED'; END IF; -- Ajouter la colonne date_of_birth si elle n'existe pas IF NOT EXISTS ( SELECT 1 FROM information_schema.columns WHERE table_name = 'users' AND column_name = 'date_of_birth' ) THEN ALTER TABLE users ADD COLUMN date_of_birth DATE; END IF; END $$; -- Créer un index sur gender pour améliorer les performances des requêtes de statistiques CREATE INDEX IF NOT EXISTS idx_users_gender ON users(gender); CREATE INDEX IF NOT EXISTS idx_users_date_of_birth ON users(date_of_birth); -- Commentaires COMMENT ON COLUMN users.gender IS 'Genre de l''utilisateur: MALE, FEMALE, OTHER, NOT_SPECIFIED'; COMMENT ON COLUMN users.date_of_birth IS 'Date de naissance de l''utilisateur pour les statistiques démographiques';