/** * Drop and recreate Vocab table with new schema */ const { sequelize } = require('./config/database'); const { Vocab } = require('./models'); async function migrateVocabTable() { try { console.log('šŸ”„ Starting vocab table migration...'); await sequelize.authenticate(); console.log('āœ… Database connection OK'); // Drop old vocab-related tables console.log('šŸ—‘ļø Dropping old vocab-related tables...'); await sequelize.query('DROP TABLE IF EXISTS `vocab_relation`'); await sequelize.query('DROP TABLE IF EXISTS `vocab_form`'); await sequelize.query('DROP TABLE IF EXISTS `vocab_mapping`'); await sequelize.query('DROP TABLE IF EXISTS `vocab`'); console.log('āœ… Old tables dropped'); // Recreate vocab table with new schema console.log('šŸ“Š Creating new vocab table...'); await Vocab.sync({ force: true }); console.log('āœ… Vocab table created with new schema'); console.log('\nāœ… Vocab migration complete!'); process.exit(0); } catch (error) { console.error('āŒ Error migrating vocab table:', error.message); console.error(error.stack); process.exit(1); } } migrateVocabTable();