package migrations import ( "encoding/json" "github.com/pocketbase/dbx" "github.com/pocketbase/pocketbase/daos" m "github.com/pocketbase/pocketbase/migrations" "github.com/pocketbase/pocketbase/models" ) func init() { m.Register(func(db dbx.Builder) error { jsonData := `{ "id": "zo5oymw0d6evw80", "created": "2024-03-14 20:19:38.622Z", "updated": "2024-03-14 20:19:38.622Z", "name": "PersistObject", "type": "base", "system": false, "schema": [ { "system": false, "id": "tvwuy2xt", "name": "app", "type": "text", "required": true, "presentable": false, "unique": false, "options": { "min": null, "max": null, "pattern": "" } }, { "system": false, "id": "mj06ihfs", "name": "room", "type": "text", "required": true, "presentable": false, "unique": false, "options": { "min": null, "max": null, "pattern": "" } }, { "system": false, "id": "mqw640xp", "name": "network_id", "type": "text", "required": false, "presentable": false, "unique": false, "options": { "min": null, "max": null, "pattern": "" } }, { "system": false, "id": "f0wynbda", "name": "data", "type": "json", "required": true, "presentable": false, "unique": false, "options": { "maxSize": 2000000 } }, { "system": false, "id": "tqei9ccu", "name": "spawned", "type": "bool", "required": false, "presentable": false, "unique": false, "options": {} }, { "system": false, "id": "sgkbflei", "name": "name", "type": "text", "required": false, "presentable": false, "unique": false, "options": { "min": null, "max": null, "pattern": "" } } ], "indexes": [], "listRule": "", "viewRule": "", "createRule": "", "updateRule": "", "deleteRule": null, "options": {} }` collection := &models.Collection{} if err := json.Unmarshal([]byte(jsonData), &collection); err != nil { return err } return daos.New(db).SaveCollection(collection) }, func(db dbx.Builder) error { dao := daos.New(db); collection, err := dao.FindCollectionByNameOrId("zo5oymw0d6evw80") if err != nil { return err } return dao.DeleteCollection(collection) }) }