LeagueStats/server/app/Commands/DeleteMatch.js

33 lines
916 B
JavaScript

'use strict'
const { Command } = require('@adonisjs/ace')
const Database = use('Database')
const Match = use('App/Models/Match')
class DeleteMatch extends Command {
static get signature() {
return `
delete:match
{ field : Delete row if entered field is null }
`
}
static get description() {
return 'Delete matches from db with a condition'
}
async handle(args, options) {
console.time('DeleteMatches')
const nbMatchesBefore = await Match.count()
const matches = await Match.all()
for (const match of matches.toJSON()) {
await Match.where('_id', match._id).where(args.field, null).delete()
}
const nbMatchesAfter = await Match.count()
Database.close()
console.timeEnd('DeleteMatches')
this.success(`${this.icon('success')} Delete Matches completed: ${nbMatchesBefore - nbMatchesAfter} matche(s) deleted`)
}
}
module.exports = DeleteMatch