some issues fixed
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
/// PocketBase migration: `updated_at` + `deleted` on overview favourites and
|
||||
/// home filter widgets for cross-device last-write-wins sync.
|
||||
///
|
||||
/// Apply on the server:
|
||||
///
|
||||
/// sudo cp this_file /opt/pocketbase/pb_migrations/
|
||||
/// sudo chown pocketbase:pocketbase /opt/pocketbase/pb_migrations/*.js
|
||||
/// sudo -u pocketbase /opt/pocketbase/pocketbase migrate up
|
||||
/// sudo systemctl restart pocketbase
|
||||
migrate((app) => {
|
||||
function addSyncFields(collectionName) {
|
||||
const col = app.findCollectionByNameOrId(collectionName);
|
||||
let changed = false;
|
||||
if (!col.fields.getByName("updated_at")) {
|
||||
col.fields.add(new Field({
|
||||
type: "number",
|
||||
name: "updated_at",
|
||||
required: false,
|
||||
}));
|
||||
changed = true;
|
||||
}
|
||||
if (!col.fields.getByName("deleted")) {
|
||||
col.fields.add(new Field({
|
||||
type: "bool",
|
||||
name: "deleted",
|
||||
required: false,
|
||||
}));
|
||||
changed = true;
|
||||
}
|
||||
if (changed) app.save(col);
|
||||
}
|
||||
|
||||
addSyncFields("overview_favourites");
|
||||
addSyncFields("home_filter_widgets");
|
||||
}, (app) => {
|
||||
function removeSyncFields(collectionName) {
|
||||
try {
|
||||
const col = app.findCollectionByNameOrId(collectionName);
|
||||
const updated = col.fields.getByName("updated_at");
|
||||
if (updated) col.fields.removeById(updated.id);
|
||||
const deleted = col.fields.getByName("deleted");
|
||||
if (deleted) col.fields.removeById(deleted.id);
|
||||
app.save(col);
|
||||
} catch (_) {}
|
||||
}
|
||||
removeSyncFields("overview_favourites");
|
||||
removeSyncFields("home_filter_widgets");
|
||||
});
|
||||
Reference in New Issue
Block a user