the-tip-top-backend/scripts/apply-is-active-migration.js
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

41 lines
1.2 KiB
JavaScript

/**
* Script pour appliquer la migration is_active aux utilisateurs
*/
import { pool } from '../db.js';
import fs from 'fs';
import path from 'path';
import { fileURLToPath } from 'url';
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
async function applyMigration() {
const client = await pool.connect();
try {
console.log('🚀 Début de la migration is_active...');
// Lire le fichier SQL
const sqlPath = path.join(__dirname, '../database/migrations/add-is-active-to-users.sql');
const sql = fs.readFileSync(sqlPath, 'utf8');
// Exécuter la migration
await client.query(sql);
console.log('✅ Migration is_active appliquée avec succès!');
// Vérifier le résultat
const result = await client.query('SELECT COUNT(*) as total, COUNT(CASE WHEN is_active = true THEN 1 END) as active FROM users');
console.log(`📊 Utilisateurs: ${result.rows[0].total} total, ${result.rows[0].active} actifs`);
} catch (error) {
console.error('❌ Erreur lors de la migration:', error.message);
throw error;
} finally {
client.release();
await pool.end();
}
}
applyMigration();