/** * Sync all models to database (create tables) * Run once to initialize database schema */ const { sequelize } = require('./config/database'); const { setupRelationships } = require('./models'); async function syncDatabase() { try { console.log('šŸ”„ Starting database synchronization...'); // Test connection first await sequelize.authenticate(); console.log('āœ… Database connection OK'); // Setup relationships setupRelationships(); console.log('āœ… Model relationships configured'); // Sync all models (creates tables if not exist, alters existing tables) await sequelize.sync({ alter: true, force: false }); console.log('āœ… All models synced successfully'); // Show created tables const [tables] = await sequelize.query('SHOW TABLES'); console.log(`\nšŸ“Š Total tables: ${tables.length}`); tables.forEach((table, index) => { console.log(` ${index + 1}. ${Object.values(table)[0]}`); }); console.log('\nāœ… Database schema initialization complete!'); process.exit(0); } catch (error) { console.error('āŒ Error syncing database:', error.message); console.error(error.stack); process.exit(1); } } syncDatabase();