const mongoose = require('mongoose'); const Order = require('./models/orderModel'); const Counter = require('./models/counterModel'); require('dotenv').config({ path: './config.env' }); const migrate = async () => { try { const dbUrl = process.env.DATABASE.replace('', process.env.DATABASE_PASSWORD); await mongoose.connect(dbUrl); console.log('DB connected'); const orders = await Order.find({ orderNumber: { $exists: false } }).sort({ createdAt: 1 }); console.log(`Found ${orders.length} orders to migrate`); let count = 0; for (const order of orders) { count++; order.orderNumber = count; await order.save(); } // Initialize counter await Counter.findOneAndUpdate( { id: 'orderNumber' }, { seq: count }, { upsert: true } ); console.log('Migration complete'); process.exit(0); } catch (err) { console.error(err); process.exit(1); } }; migrate();