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/schema" ) func init() { m.Register(func(db dbx.Builder) error { dao := daos.New(db) collection, err := dao.FindCollectionByNameOrId("dd2l9a4vxpy2ni8") if err != nil { return err } // add new_distance := &schema.SchemaField{} if err := json.Unmarshal([]byte(`{ "system": false, "id": "jovws28m", "name": "distance", "type": "number", "required": false, "presentable": false, "unique": false, "options": { "min": 0, "max": null, "noDecimal": false } }`), new_distance); err != nil { return err } collection.Schema.AddField(new_distance) // add new_elevation_gain := &schema.SchemaField{} if err := json.Unmarshal([]byte(`{ "system": false, "id": "m2kndtwn", "name": "elevation_gain", "type": "number", "required": false, "presentable": false, "unique": false, "options": { "min": 0, "max": null, "noDecimal": false } }`), new_elevation_gain); err != nil { return err } collection.Schema.AddField(new_elevation_gain) // add new_elevation_loss := &schema.SchemaField{} if err := json.Unmarshal([]byte(`{ "system": false, "id": "uqqo9cws", "name": "elevation_loss", "type": "number", "required": false, "presentable": false, "unique": false, "options": { "min": 0, "max": null, "noDecimal": false } }`), new_elevation_loss); err != nil { return err } collection.Schema.AddField(new_elevation_loss) // add new_duration := &schema.SchemaField{} if err := json.Unmarshal([]byte(`{ "system": false, "id": "vwxjsrae", "name": "duration", "type": "number", "required": false, "presentable": false, "unique": false, "options": { "min": 0, "max": null, "noDecimal": false } }`), new_duration); err != nil { return err } collection.Schema.AddField(new_duration) return dao.SaveCollection(collection) }, func(db dbx.Builder) error { dao := daos.New(db) collection, err := dao.FindCollectionByNameOrId("dd2l9a4vxpy2ni8") if err != nil { return err } // remove collection.Schema.RemoveField("jovws28m") // remove collection.Schema.RemoveField("m2kndtwn") // remove collection.Schema.RemoveField("uqqo9cws") // remove collection.Schema.RemoveField("vwxjsrae") return dao.SaveCollection(collection) }) }