/// migrate((db) => { const collection = new Collection({ "id": "ledgers_col", "created": "2026-04-18 10:00:01.000Z", "updated": "2026-04-18 10:00:01.000Z", "name": "ledgers", "type": "base", "system": false, "schema": [ { "system": false, "id": "lgr_group", "name": "group", "type": "relation", "required": true, "presentable": false, "unique": false, "options": { "collectionId": "es63bkyiblpnxdf", "cascadeDelete": true, "minSelect": null, "maxSelect": 1, "displayFields": null } }, { "system": false, "id": "lgr_creator", "name": "creator", "type": "relation", "required": true, "presentable": false, "unique": false, "options": { "collectionId": "_pb_users_auth_", "cascadeDelete": true, "minSelect": null, "maxSelect": 1, "displayFields": null } }, { "system": false, "id": "lgr_type", "name": "type", "type": "select", "required": true, "presentable": false, "unique": false, "options": { "maxSelect": 1, "values": [ "income", "expense" ] } }, { "system": false, "id": "lgr_amount", "name": "amount", "type": "number", "required": true, "presentable": false, "unique": false, "options": { "min": 0.01, "max": null, "noDecimal": false } }, { "system": false, "id": "lgr_category", "name": "category", "type": "select", "required": true, "presentable": false, "unique": false, "options": { "maxSelect": 1, "values": [ "gaming", "food", "equipment", "transport", "other" ] } }, { "system": false, "id": "lgr_desc", "name": "description", "type": "text", "required": true, "presentable": false, "unique": false, "options": { "min": null, "max": 500, "pattern": "" } }, { "system": false, "id": "lgr_members", "name": "relatedMembers", "type": "relation", "required": false, "presentable": false, "unique": false, "options": { "collectionId": "_pb_users_auth_", "cascadeDelete": false, "minSelect": null, "maxSelect": null, "displayFields": null } }, { "system": false, "id": "lgr_occurred", "name": "occurredAt", "type": "date", "required": true, "presentable": false, "unique": false, "options": { "min": "", "max": "" } } ], "indexes": [], "listRule": "@request.auth.id != \"\" && group.members ~ @request.auth.id", "viewRule": "@request.auth.id != \"\" && group.members ~ @request.auth.id", "createRule": "@request.auth.id != \"\" && group.members ~ @request.auth.id", "updateRule": "creator = @request.auth.id", "deleteRule": "creator = @request.auth.id || group.owner = @request.auth.id", "options": {} }); return Dao(db).saveCollection(collection); }, (db) => { const dao = new Dao(db); const collection = dao.findCollectionByNameOrId("ledgers_col"); return dao.deleteCollection(collection); })