import { BaseSchema } from '@adonisjs/lucid/schema' /** * The ladder's discard sweep (PendingLadder.discard) reads a dropped signature's or class's waiting rows once: * `swept_at` marks it done (null again when the record drops it anew). Before, every sweep read every dropped * signature's rows over again, minutes of HDD each, inside the claim (LOG.md (133)). */ export default class extends BaseSchema { async up() { this.schema.alterTable('pending_signatures', (table) => { table.timestamp('swept_at', { useTz: true }).nullable() }) this.schema.alterTable('pending_classes', (table) => { table.timestamp('swept_at', { useTz: true }).nullable() }) } async down() { this.schema.alterTable('pending_signatures', (table) => { table.dropColumn('swept_at') }) this.schema.alterTable('pending_classes', (table) => { table.dropColumn('swept_at') }) } }