Files
yourpart3/backend/migrations-archive/add_trigger_for_hashedId.cjs
Torsten Schulz (local) 5070785a50
Some checks failed
Deploy to production / deploy (push) Has been cancelled
feat(deploy): update deployment workflow and migration paths
- Modified the deployment workflow to include new migration paths for the backend, ensuring that migrations are correctly referenced in the deployment process.
- Updated the `db:migrate` script in package.json to point to the `migrations-active` directory, enhancing clarity and organization of migration files.
- Adjusted the deployment conditions to account for changes in migration file locations, improving the accuracy of change detection during deployments.
- Removed obsolete migration files to streamline the migration process and prevent confusion.
2026-04-17 13:39:38 +02:00

36 lines
1.1 KiB
JavaScript

'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();
`);
}
};