'use strict'; module.exports = { up: async (queryInterface, Sequelize) => { await queryInterface.sequelize.query(` CREATE OR REPLACE FUNCTION community.update_hashed_id() RETURNS TRIGGER AS $$ BEGIN NEW.hashed_id = encode(digest(NEW.id::text, 'sha256'), 'hex'); RETURN NEW; END; $$ LANGUAGE plpgsql; `); await queryInterface.sequelize.query(` CREATE TRIGGER update_hashed_id_trigger BEFORE INSERT OR UPDATE ON community.user FOR EACH ROW EXECUTE FUNCTION community.update_hashed_id(); `); }, down: async (queryInterface, Sequelize) => { await queryInterface.sequelize.query(` DROP TRIGGER IF EXISTS update_hashed_id_trigger ON community.user; `); await queryInterface.sequelize.query(` DROP FUNCTION IF EXISTS community.update_hashed_id(); `); } };