Files
yourpart3/backend/migrations-archive/add_trigger_for_hashedId.cjs
Torsten Schulz (local) 1ab9407e79
All checks were successful
Deploy to production / deploy (push) Successful in 2m56s
Refactor code structure for improved readability and maintainability; optimize performance across multiple modules.
2026-07-21 09:08:15 +02:00

36 lines
1.1 KiB
JavaScript
Executable File

'use strict';
module.exports = {
up: async (queryInterface, Sequelize) => {
// Aktiviere die pgcrypto Erweiterung, die die digest() Funktion bereitstellt
await queryInterface.sequelize.query(`
CREATE EXTENSION IF NOT EXISTS pgcrypto;
`);
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();
`);
}
};