Skip to content

Commit 5cbe6e2

Browse files
authored
Clear tt (#327)
* token transfer cleanup job * add migration
1 parent 3cffbbd commit 5cbe6e2

File tree

4 files changed

+69
-2
lines changed

4 files changed

+69
-2
lines changed

run/jobs/index.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -31,5 +31,6 @@ module.exports = {
3131
batchBlockDelete: require('./batchBlockDelete'),
3232
batchContractDelete: require('./batchContractDelete'),
3333
cancelDemoExplorers: require('./cancelDemoExplorers'),
34-
deleteWorkspace: require('./deleteWorkspace')
34+
deleteWorkspace: require('./deleteWorkspace'),
35+
tokenTransferCleanup: require('./tokenTransferCleanup')
3536
};

run/jobs/tokenTransferCleanup.js

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
const { TokenTransfer } = require('../models');
2+
3+
module.exports = async job => {
4+
const data = job.data;
5+
6+
const tokenTransfers = await TokenTransfer.findAll({
7+
where: { id: data.ids }
8+
});
9+
10+
for (let i = 0; i < tokenTransfers.length; i++) {
11+
await tokenTransfers[i].safeDestroy();
12+
}
13+
14+
return true;
15+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
'use strict';
2+
3+
/** @type {import('sequelize-cli').Migration} */
4+
module.exports = {
5+
async up (queryInterface, Sequelize) {
6+
const transaction = await queryInterface.sequelize.transaction();
7+
try {
8+
await queryInterface.sequelize.query(`
9+
ALTER TABLE token_transfers
10+
ADD CONSTRAINT "token_transfers_transactionId_fkey"
11+
FOREIGN KEY ("transactionId")
12+
REFERENCES transactions(id);
13+
`, { transaction });
14+
15+
await queryInterface.sequelize.query(`
16+
ALTER TABLE token_transfers
17+
ADD CONSTRAINT "token_transfers_transactionLogId_fkey"
18+
FOREIGN KEY ("transactionLogId")
19+
REFERENCES transaction_logs(id);
20+
`, { transaction });
21+
22+
await transaction.commit();
23+
} catch(error) {
24+
console.log(error);
25+
await transaction.rollback();
26+
throw error;
27+
}
28+
},
29+
30+
async down (queryInterface, Sequelize) {
31+
const transaction = await queryInterface.sequelize.transaction();
32+
try {
33+
await queryInterface.sequelize.query(`
34+
ALTER TABLE token_transfers
35+
DROP CONSTRAINT "token_transfers_transactionId_fkey";
36+
`, { transaction });
37+
38+
await queryInterface.sequelize.query(`
39+
ALTER TABLE token_transfers
40+
DROP CONSTRAINT "token_transfers_transactionLogId_fkey";
41+
`, { transaction });
42+
43+
await transaction.commit();
44+
} catch(error) {
45+
console.log(error);
46+
await transaction.rollback();
47+
throw error;
48+
}
49+
}
50+
};

run/workers/priorities.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
"batchBlockDelete",
3232
"batchContractDelete",
3333
"cancelDemoExplorers",
34-
"deleteWorkspace"
34+
"deleteWorkspace",
35+
"tokenTransferCleanup"
3536
]
3637
}

0 commit comments

Comments
 (0)