From 01c9fca0931862b7d5d1d1ac0ff8dbf78dbee4ca Mon Sep 17 00:00:00 2001 From: counterweight Date: Mon, 10 Mar 2025 13:51:13 +0100 Subject: [PATCH] offercreated offerdeleted --- .../20250308000000-first-schema-tables.js | 43 +++++++++++++++++++ .../20250308000001-first-schema-fks.js | 10 +++++ 2 files changed, 53 insertions(+) diff --git a/src/database/migrations/20250308000000-first-schema-tables.js b/src/database/migrations/20250308000000-first-schema-tables.js index cef411b..16c5456 100644 --- a/src/database/migrations/20250308000000-first-schema-tables.js +++ b/src/database/migrations/20250308000000-first-schema-tables.js @@ -1,4 +1,7 @@ 'use strict'; + +const { query } = require('express'); + module.exports = { up: (queryInterface, Sequelize) => { return queryInterface.sequelize.transaction((t) => { @@ -169,6 +172,46 @@ module.exports = { }, { transaction: t } ), + queryInterface.createTable( + 'offer_created', + { + uuid: { + type: Sequelize.UUID, + allowNull: false, + unique: true, + primaryKey: true, + }, + public_key: { + type: Sequelize.STRING, + allowNull: false, + }, + created_at: { + type: Sequelize.DATE, + allowNull: false, + }, + }, + { transaction: t } + ), + queryInterface.createTable( + 'offer_deleted', + { + uuid: { + type: Sequelize.UUID, + allowNull: false, + unique: true, + primaryKey: true, + }, + offer_uuid: { + type: Sequelize.UUID, + allowNull: false, + }, + created_at: { + type: Sequelize.DATE, + allowNull: false, + }, + }, + { transaction: t } + ), ]); }); }, diff --git a/src/database/migrations/20250308000001-first-schema-fks.js b/src/database/migrations/20250308000001-first-schema-fks.js index 7ede52a..79d1544 100644 --- a/src/database/migrations/20250308000001-first-schema-fks.js +++ b/src/database/migrations/20250308000001-first-schema-fks.js @@ -33,6 +33,16 @@ module.exports = { onDelete: 'cascade', onUpdate: 'cascade', }), + queryInterface.addConstraint('offer_deleted', { + fields: ['offer_uuid'], + type: 'foreign key', + references: { + table: 'offer_created', + field: 'uuid', + }, + onDelete: 'cascade', + onUpdate: 'cascade', + }), ]); }); },