// Runner tokens can expire, like API tokens. 0 means never, so existing runners keep working. migrate( (app) => { const runners = app.findCollectionByNameOrId("runners"); runners.fields.add(new NumberField({ name: "expires_at", onlyInt: true, min: 0 })); app.save(runners); }, (app) => { const runners = app.findCollectionByNameOrId("runners"); runners.fields.removeByName("expires_at"); app.save(runners); }, );