// Phase 6 — media messages. The media reference is kept in dedicated columns // (server-visible object key + metadata) separate from `content` (the caption), // so E2EE can later encrypt the caption without hiding the storage pointer. /** @param {import('node-pg-migrate').MigrationBuilder} pgm */ exports.up = (pgm) => { pgm.addColumns('messages', { media_key: { type: 'text' }, media_meta: { type: 'jsonb' }, }); }; /** @param {import('node-pg-migrate').MigrationBuilder} pgm */ exports.down = (pgm) => { pgm.dropColumns('messages', ['media_key', 'media_meta']); };