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("xku110v5a5xbufa") if err != nil { return err } options := map[string]any{} if err := json.Unmarshal([]byte(`{ "query": "SELECT id, username, avatar, bio, created FROM users" }`), &options); err != nil { return err } collection.SetOptions(options) // remove collection.Schema.RemoveField("femc0ok5") // remove collection.Schema.RemoveField("aglcodpn") // add new_username := &schema.SchemaField{} if err := json.Unmarshal([]byte(`{ "system": false, "id": "tkxbpwxe", "name": "username", "type": "text", "required": false, "presentable": false, "unique": false, "options": { "min": null, "max": null, "pattern": "" } }`), new_username); err != nil { return err } collection.Schema.AddField(new_username) // add new_avatar := &schema.SchemaField{} if err := json.Unmarshal([]byte(`{ "system": false, "id": "xs5qvkih", "name": "avatar", "type": "file", "required": false, "presentable": false, "unique": false, "options": { "mimeTypes": [ "image/jpeg", "image/png", "image/svg+xml", "image/gif", "image/webp" ], "thumbs": null, "maxSelect": 1, "maxSize": 5242880, "protected": false } }`), new_avatar); err != nil { return err } collection.Schema.AddField(new_avatar) // add new_bio := &schema.SchemaField{} if err := json.Unmarshal([]byte(`{ "system": false, "id": "agsa8h5z", "name": "bio", "type": "text", "required": false, "presentable": false, "unique": false, "options": { "min": null, "max": 10000, "pattern": "" } }`), new_bio); err != nil { return err } collection.Schema.AddField(new_bio) return dao.SaveCollection(collection) }, func(db dbx.Builder) error { dao := daos.New(db); collection, err := dao.FindCollectionByNameOrId("xku110v5a5xbufa") if err != nil { return err } options := map[string]any{} if err := json.Unmarshal([]byte(`{ "query": "SELECT id, username, avatar, created FROM users" }`), &options); err != nil { return err } collection.SetOptions(options) // add del_username := &schema.SchemaField{} if err := json.Unmarshal([]byte(`{ "system": false, "id": "femc0ok5", "name": "username", "type": "text", "required": false, "presentable": false, "unique": false, "options": { "min": null, "max": null, "pattern": "" } }`), del_username); err != nil { return err } collection.Schema.AddField(del_username) // add del_avatar := &schema.SchemaField{} if err := json.Unmarshal([]byte(`{ "system": false, "id": "aglcodpn", "name": "avatar", "type": "file", "required": false, "presentable": false, "unique": false, "options": { "mimeTypes": [ "image/jpeg", "image/png", "image/svg+xml", "image/gif", "image/webp" ], "thumbs": null, "maxSelect": 1, "maxSize": 5242880, "protected": false } }`), del_avatar); err != nil { return err } collection.Schema.AddField(del_avatar) // remove collection.Schema.RemoveField("tkxbpwxe") // remove collection.Schema.RemoveField("xs5qvkih") // remove collection.Schema.RemoveField("agsa8h5z") return dao.SaveCollection(collection) }) }