1 | const moment = require('moment');
|
2 | const mongoose = require('mongoose');
|
3 | const domain = require('../');
|
4 |
|
5 | async function main() {
|
6 | await mongoose.connect(process.env.MONGOLAB_URI);
|
7 |
|
8 | const now = new Date();
|
9 | const startThrough = moment(now)
|
10 | .add(-18, 'months')
|
11 | .toDate();
|
12 |
|
13 | console.log('deleting...startThrough:', startThrough);
|
14 |
|
15 | const actionRepo = new domain.repository.Action(mongoose.connection);
|
16 | const taskRepo = new domain.repository.Task(mongoose.connection);
|
17 | const transactionRepo = new domain.repository.Transaction(mongoose.connection);
|
18 | const invoiceRepo = new domain.repository.Invoice(mongoose.connection);
|
19 | const orderRepo = new domain.repository.Order(mongoose.connection);
|
20 |
|
21 | let result;
|
22 |
|
23 | result = await actionRepo.actionModel.deleteMany({
|
24 | startDate: { $lt: startThrough }
|
25 | })
|
26 | .exec();
|
27 | console.log('actions deleted', result);
|
28 |
|
29 | result = await taskRepo.taskModel.deleteMany({
|
30 | runsAt: { $lt: startThrough }
|
31 | })
|
32 | .exec();
|
33 | console.log('tasks deleted', result);
|
34 |
|
35 | result = await transactionRepo.transactionModel.deleteMany({
|
36 | startDate: { $lt: startThrough }
|
37 | })
|
38 | .exec();
|
39 | console.log('transactions deleted', result);
|
40 |
|
41 | result = await invoiceRepo.invoiceModel.deleteMany({
|
42 | createdAt: { $lt: startThrough }
|
43 | })
|
44 | .exec();
|
45 | console.log('invoices deleted', result);
|
46 |
|
47 | result = await orderRepo.orderModel.deleteMany({
|
48 | orderDate: { $lt: startThrough }
|
49 | })
|
50 | .exec();
|
51 | console.log('orders deleted', result);
|
52 |
|
53 |
|
54 | }
|
55 |
|
56 | main().then(() => {
|
57 | console.log('success!');
|
58 | }).catch((error) => {
|
59 | console.error(error);
|
60 | process.exit(1);
|
61 | });
|