Spaces:
Running
Running
File size: 1,068 Bytes
3ab344a | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | 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();
|