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 { dao := daos.New(db); collection, err := dao.FindCollectionByNameOrId("0a1o4e6sstp694f") if err != nil { return err } return dao.DeleteCollection(collection) }, func(db dbx.Builder) error { jsonData := `{ "id": "0a1o4e6sstp694f", "created": "2024-07-30 06:30:27.801Z", "updated": "2024-12-22 12:05:46.060Z", "name": "deployments", "type": "base", "system": false, "schema": [ { "system": false, "id": "jx5f69i3", "name": "log", "type": "json", "required": false, "presentable": false, "unique": false, "options": { "maxSize": 2000000 } }, { "system": false, "id": "qbxdtg9q", "name": "phase", "type": "select", "required": false, "presentable": false, "unique": false, "options": { "maxSelect": 1, "values": [ "check", "apply", "deploy" ] } }, { "system": false, "id": "rglrp1hz", "name": "phaseSuccess", "type": "bool", "required": false, "presentable": false, "unique": false, "options": {} }, { "system": false, "id": "lt1g1blu", "name": "deployedAt", "type": "date", "required": false, "presentable": false, "unique": false, "options": { "min": "", "max": "" } }, { "system": false, "id": "wledpzgb", "name": "wholeSuccess", "type": "bool", "required": false, "presentable": false, "unique": false, "options": {} } ], "indexes": [], "listRule": null, "viewRule": null, "createRule": null, "updateRule": null, "deleteRule": null, "options": {} }` collection := &models.Collection{} if err := json.Unmarshal([]byte(jsonData), &collection); err != nil { return err } return daos.New(db).SaveCollection(collection) }) }