the-tip-top-backend/database/migrations
soufiane 9d836eeaac feat: add user archiving (soft delete) with is_active field
- Add is_active column migration for users table
- Update user.controller.js to support isActive in profile updates
- Update admin.controller.js to support isActive filtering and updates
- Add migration script for is_active column

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-28 14:26:20 +01:00
..
add-demographics-fields.sql dev 2025-11-17 23:47:54 +01:00
add-email-campaigns.sql dev 2025-11-17 23:47:54 +01:00
add-grand-prize-draw.sql dev 2025-11-17 23:47:54 +01:00
add-grand-prize-type.sql dev 2025-11-17 23:47:54 +01:00
add-is-active-to-users.sql feat: add user archiving (soft delete) with is_active field 2025-11-28 14:26:20 +01:00
add-newsletter-table.sql feat: add newsletter subscription feature 2025-11-24 00:07:44 +01:00
add-prize-delivery-tracking.sql dev 2025-11-17 23:47:54 +01:00
fix-tickets-schema.sql dev 2025-11-17 23:47:54 +01:00
make-user-id-nullable.sql dev 2025-11-17 23:47:54 +01:00
README.md dev 2025-11-17 23:47:54 +01:00

Migrations de Base de Données

Ce dossier contient les migrations pour la base de données The Tip Top.

Migration: Ajout des champs démographiques

Fichier: add-demographics-fields.sql

Cette migration ajoute les champs nécessaires pour les statistiques démographiques:

  • gender (ENUM: MALE, FEMALE, OTHER, NOT_SPECIFIED)
  • date_of_birth (DATE)

Comment exécuter la migration

Option 1: Via psql

psql -h 51.75.24.29 -U postgres -d thetiptop_dev -p 5433 -f database/migrations/add-demographics-fields.sql

Option 2: Via un client SQL (DBeaver, pgAdmin, etc.)

  1. Connectez-vous à votre base de données
  2. Ouvrez le fichier add-demographics-fields.sql
  3. Exécutez le script

Vérification

Pour vérifier que la migration a été appliquée correctement:

-- Vérifier les nouvelles colonnes
SELECT column_name, data_type
FROM information_schema.columns
WHERE table_name = 'users'
AND column_name IN ('gender', 'date_of_birth');

-- Vérifier le type ENUM gender_type
SELECT typname, enumlabel
FROM pg_type
JOIN pg_enum ON pg_type.oid = pg_enum.enumtypid
WHERE typname = 'gender_type';

Notes importantes

  • Cette migration est idempotente (peut être exécutée plusieurs fois sans erreur)
  • Les valeurs par défaut sont définies pour ne pas affecter les données existantes
  • Les index sont créés automatiquement pour améliorer les performances des requêtes de statistiques