From 9d4967a41d65ff07012d78409009b208f97ff6ff Mon Sep 17 00:00:00 2001 From: counterweight Date: Mon, 10 Mar 2025 12:47:09 +0100 Subject: [PATCH] first couple models working, now let's add more --- .../migrations/20250308000000-first-schema.js | 70 +++++++++++++------ 1 file changed, 48 insertions(+), 22 deletions(-) diff --git a/src/database/migrations/20250308000000-first-schema.js b/src/database/migrations/20250308000000-first-schema.js index 3326bde..a368e2f 100644 --- a/src/database/migrations/20250308000000-first-schema.js +++ b/src/database/migrations/20250308000000-first-schema.js @@ -1,28 +1,54 @@ 'use strict'; module.exports = { up: (queryInterface, Sequelize) => { - return queryInterface.createTable( - 'AppInviteCreated', - { - uuid: { - type: Sequelize.UUID, - allowNull: false, - unique: true, - primaryKey: true, - }, - inviter_pub_key: { - type: Sequelize.STRING, - allowNull: false, - }, - created_at: { - type: Sequelize.DATE, - allowNull: false, - }, - }, - { - tableName: 'app_invite_created', - } - ); + return queryInterface.sequelize.transaction((t) => { + return Promise.all([ + queryInterface.createTable( + 'app_invite_created', + { + uuid: { + type: Sequelize.UUID, + allowNull: false, + unique: true, + primaryKey: true, + }, + inviter_pub_key: { + type: Sequelize.STRING, + allowNull: false, + }, + created_at: { + type: Sequelize.DATE, + allowNull: false, + }, + }, + { transaction: t } + ), + queryInterface.createTable( + 'contact_details_set', + { + uuid: { + type: Sequelize.UUID, + allowNull: false, + unique: true, + primaryKey: true, + }, + public_key: { + type: Sequelize.STRING, + allowNull: false, + }, + encrypted_contact_details: { + type: Sequelize.TEXT, + allowNull: false, + }, + created_at: { + type: Sequelize.DATE, + allowNull: false, + }, + }, + { transaction: t } + ), + ]); + }); }, down: (queryInterface, Sequelize) => { return queryInterface.dropTable('Users');