secajs/src/database/migrations/20250308000001-first-schema-fks.js

52 lines
1.5 KiB
JavaScript

'use strict';
module.exports = {
up: (queryInterface, Sequelize) => {
return queryInterface.sequelize.transaction((t) => {
return Promise.all([
queryInterface.addConstraint('login_challenge_created', {
fields: ['nostr_challenge_uuid'],
type: 'foreign key',
references: {
table: 'nostr_challenge_created',
field: 'uuid',
},
onDelete: 'cascade',
onUpdate: 'cascade',
}),
queryInterface.addConstraint('nostr_challenge_completed', {
fields: ['challenge'],
type: 'foreign key',
references: {
table: 'nostr_challenge_created',
field: 'challenge',
},
onDelete: 'cascade',
onUpdate: 'cascade',
}),
queryInterface.addConstraint('login_challenge_completed', {
fields: ['nostr_challenge_completed_uuid'],
type: 'foreign key',
references: {
table: 'nostr_challenge_completed',
field: 'uuid',
},
onDelete: 'cascade',
onUpdate: 'cascade',
}),
queryInterface.addConstraint('offer_deleted', {
fields: ['offer_uuid'],
type: 'foreign key',
references: {
table: 'offer_created',
field: 'uuid',
},
onDelete: 'cascade',
onUpdate: 'cascade',
}),
]);
});
},
down: (queryInterface, Sequelize) => {
return queryInterface.dropTable('Users');
},
};