samoulla-backend / migrateOrderNumbers.js
Samoulla Sync Bot
Auto-deploy Samoulla Backend: 8a7795de163beac21552c41961053b9c00e6c72d
83848f4
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('<PASSWORD>', 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();