Messenger/packages/backend/migrations/1720000000011_forward_origin_shape.cjs
Заид Омар Медхат | Zaid Omar Medhat f5b620111b redesign
2026-07-11 04:49:07 +05:00

28 lines
895 B
JavaScript

// forwarded_from jsonb shape change: was a bare PublicUser snapshot, now a
// ForwardOrigin {name, user} so channel forwards can carry a name without a
// profile link. Rewrites existing rows in place (guarded, idempotent).
/** @param {import('node-pg-migrate').MigrationBuilder} pgm */
exports.up = (pgm) => {
pgm.sql(`
UPDATE messages
SET forwarded_from = jsonb_build_object(
'name', forwarded_from->>'displayName',
'user', forwarded_from
)
WHERE forwarded_from IS NOT NULL
AND forwarded_from ? 'displayName'
AND NOT (forwarded_from ? 'user');
`);
};
/** @param {import('node-pg-migrate').MigrationBuilder} pgm */
exports.down = (pgm) => {
pgm.sql(`
UPDATE messages
SET forwarded_from = forwarded_from->'user'
WHERE forwarded_from IS NOT NULL
AND forwarded_from ? 'user'
AND forwarded_from->'user' IS NOT NULL;
`);
};