Fix: Neuigkeiten-Migration ohne explizite Feld-IDs (PocketBase v0.38 Kompatibilität)
This commit is contained in:
parent
34f6a4f11d
commit
e4ca28025c
3 changed files with 23 additions and 78 deletions
|
|
@ -11,45 +11,33 @@ migrate((app) => {
|
||||||
"updateRule": "@request.auth.verein_id = verein_id && autor_id = @request.auth.id",
|
"updateRule": "@request.auth.verein_id = verein_id && autor_id = @request.auth.id",
|
||||||
"fields": [
|
"fields": [
|
||||||
{
|
{
|
||||||
"autogeneratePattern": "[a-z0-9]{15}", "id": "text3208210256",
|
"type": "relation", "name": "verein_id",
|
||||||
"max": 15, "min": 15, "name": "id", "pattern": "^[a-z0-9]+$",
|
"required": true, "cascadeDelete": true,
|
||||||
"primaryKey": true, "required": true, "system": true, "type": "text",
|
"collectionId": "pbc_3589557411", "maxSelect": 1
|
||||||
"help": "", "hidden": false, "presentable": false
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "relation", "id": "relation2001000200", "name": "verein_id",
|
"type": "relation", "name": "autor_id",
|
||||||
"help": "", "hidden": false, "presentable": false, "required": true, "system": false,
|
"required": true, "cascadeDelete": false,
|
||||||
"cascadeDelete": true, "collectionId": "pbc_3589557411", "maxSelect": 1, "minSelect": 0
|
"collectionId": "_pb_users_auth_", "maxSelect": 1
|
||||||
},
|
},
|
||||||
|
{ "type": "text", "name": "autor_name" },
|
||||||
|
{ "type": "text", "name": "text" },
|
||||||
{
|
{
|
||||||
"type": "relation", "id": "relation2001000201", "name": "autor_id",
|
"type": "file", "name": "medien",
|
||||||
"help": "", "hidden": false, "presentable": false, "required": true, "system": false,
|
|
||||||
"cascadeDelete": false, "collectionId": "_pb_users_auth_", "maxSelect": 1, "minSelect": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "text", "id": "text2001000202", "name": "text",
|
|
||||||
"help": "", "hidden": false, "presentable": false, "required": false, "system": false,
|
|
||||||
"autogeneratePattern": "", "min": 0, "max": 0, "pattern": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "file", "id": "file2001000203", "name": "medien",
|
|
||||||
"help": "", "hidden": false, "presentable": false, "required": false, "system": false,
|
|
||||||
"maxSelect": 10, "maxSize": 15728640,
|
"maxSelect": 10, "maxSize": 15728640,
|
||||||
"mimeTypes": ["image/jpeg","image/png","image/gif","image/webp","video/mp4","video/quicktime"]
|
"mimeTypes": ["image/jpeg","image/png","image/gif","image/webp","video/mp4","video/quicktime"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "relation", "id": "relation2001000204", "name": "gruppe_ids",
|
"type": "relation", "name": "gruppe_ids",
|
||||||
"help": "", "hidden": false, "presentable": false, "required": false, "system": false,
|
"cascadeDelete": false,
|
||||||
"cascadeDelete": false, "collectionId": "pbc_3099069179", "maxSelect": 99, "minSelect": 0
|
"collectionId": "pbc_3099069179", "maxSelect": 99
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "relation", "id": "relation2001000205", "name": "termin_id",
|
"type": "relation", "name": "termin_id",
|
||||||
"help": "", "hidden": false, "presentable": false, "required": false, "system": false,
|
"cascadeDelete": false,
|
||||||
"cascadeDelete": false, "collectionId": "pbc_2279568741", "maxSelect": 1, "minSelect": 0
|
"collectionId": "pbc_2279568741", "maxSelect": 1
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"id": "neuigkeiten001",
|
|
||||||
"indexes": [],
|
|
||||||
"name": "neuigkeiten",
|
"name": "neuigkeiten",
|
||||||
"system": false,
|
"system": false,
|
||||||
"type": "base"
|
"type": "base"
|
||||||
|
|
@ -67,23 +55,16 @@ migrate((app) => {
|
||||||
"updateRule": null,
|
"updateRule": null,
|
||||||
"fields": [
|
"fields": [
|
||||||
{
|
{
|
||||||
"autogeneratePattern": "[a-z0-9]{15}", "id": "text3208210256",
|
"type": "relation", "name": "beitrag_id",
|
||||||
"max": 15, "min": 15, "name": "id", "pattern": "^[a-z0-9]+$",
|
"required": true, "cascadeDelete": true,
|
||||||
"primaryKey": true, "required": true, "system": true, "type": "text",
|
"collectionId": "neuigkeiten", "maxSelect": 1
|
||||||
"help": "", "hidden": false, "presentable": false
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "relation", "id": "relation2001000210", "name": "beitrag_id",
|
"type": "relation", "name": "user_id",
|
||||||
"help": "", "hidden": false, "presentable": false, "required": true, "system": false,
|
"required": true, "cascadeDelete": true,
|
||||||
"cascadeDelete": true, "collectionId": "neuigkeiten001", "maxSelect": 1, "minSelect": 0
|
"collectionId": "_pb_users_auth_", "maxSelect": 1
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "relation", "id": "relation2001000211", "name": "user_id",
|
|
||||||
"help": "", "hidden": false, "presentable": false, "required": true, "system": false,
|
|
||||||
"cascadeDelete": true, "collectionId": "_pb_users_auth_", "maxSelect": 1, "minSelect": 0
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"id": "reaktionen001",
|
|
||||||
"indexes": ["CREATE UNIQUE INDEX idx_reaktion_unique ON reaktionen (beitrag_id, user_id)"],
|
"indexes": ["CREATE UNIQUE INDEX idx_reaktion_unique ON reaktionen (beitrag_id, user_id)"],
|
||||||
"name": "reaktionen",
|
"name": "reaktionen",
|
||||||
"system": false,
|
"system": false,
|
||||||
|
|
@ -93,6 +74,6 @@ migrate((app) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
}, (app) => {
|
}, (app) => {
|
||||||
try { app.delete(app.findCollectionByNameOrId("reaktionen001")) } catch(_) {}
|
try { app.delete(app.findCollectionByNameOrId("reaktionen")) } catch(_) {}
|
||||||
try { app.delete(app.findCollectionByNameOrId("neuigkeiten001")) } catch(_) {}
|
try { app.delete(app.findCollectionByNameOrId("neuigkeiten")) } catch(_) {}
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
/// <reference path="../pb_data/types.d.ts" />
|
|
||||||
// Stellt sicher dass die Access-Rules für neuigkeiten und reaktionen
|
|
||||||
// korrekt kompiliert werden (PocketBase revalidiert sie beim save)
|
|
||||||
migrate((app) => {
|
|
||||||
{
|
|
||||||
const c = app.findCollectionByNameOrId("neuigkeiten001")
|
|
||||||
c.listRule = "@request.auth.verein_id = verein_id"
|
|
||||||
c.viewRule = "@request.auth.verein_id = verein_id"
|
|
||||||
c.createRule = "@request.auth.verein_id = verein_id"
|
|
||||||
c.updateRule = "@request.auth.verein_id = verein_id && autor_id = @request.auth.id"
|
|
||||||
c.deleteRule = "@request.auth.verein_id = verein_id && autor_id = @request.auth.id"
|
|
||||||
app.save(c)
|
|
||||||
}
|
|
||||||
{
|
|
||||||
const c = app.findCollectionByNameOrId("reaktionen001")
|
|
||||||
c.listRule = "@request.auth.verein_id = beitrag_id.verein_id"
|
|
||||||
c.viewRule = "@request.auth.verein_id = beitrag_id.verein_id"
|
|
||||||
c.createRule = "@request.auth.id != ''"
|
|
||||||
c.deleteRule = "@request.auth.id = user_id"
|
|
||||||
app.save(c)
|
|
||||||
}
|
|
||||||
}, (app) => {})
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
||||||
/// <reference path="../pb_data/types.d.ts" />
|
|
||||||
migrate((app) => {
|
|
||||||
const c = app.findCollectionByNameOrId("neuigkeiten001")
|
|
||||||
c.fields.addAt(99, new Field({
|
|
||||||
"type": "text", "id": "text2001000206", "name": "autor_name",
|
|
||||||
"help": "", "hidden": false, "presentable": false, "required": false, "system": false,
|
|
||||||
"autogeneratePattern": "", "min": 0, "max": 0, "pattern": ""
|
|
||||||
}))
|
|
||||||
app.save(c)
|
|
||||||
}, (app) => {
|
|
||||||
const c = app.findCollectionByNameOrId("neuigkeiten001")
|
|
||||||
c.fields.removeById("text2001000206")
|
|
||||||
app.save(c)
|
|
||||||
})
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue