migrate((db) => { const dao = new Dao(db); const collection = dao.findCollectionByNameOrId("time_entries"); // Add is_banked field collection.schema.addField(new SchemaField({ name: "is_banked", type: "bool", required: false, // Default true handled in app logic or ignored for now options: {} })); // Add manual_override field collection.schema.addField(new SchemaField({ name: "manual_override", type: "bool", required: false, options: {} })); // Add calculated_hours field collection.schema.addField(new SchemaField({ name: "calculated_hours", type: "number", required: false, options: { min: null, max: null, noDecimal: false } })); return dao.saveCollection(collection); }, (db) => { const dao = new Dao(db); const collection = dao.findCollectionByNameOrId("time_entries"); // logic to remove fields if needed, usually tricky in PB migrations securely without losing data // For now we just return null or attempt simple removal collection.schema.removeField("is_banked"); collection.schema.removeField("manual_override"); collection.schema.removeField("calculated_hours"); return dao.saveCollection(collection); })