From c021b55c26fac35c353badf51aa8da7a2174da25 Mon Sep 17 00:00:00 2001 From: Bilal Catic Date: Sun, 9 Jun 2019 11:36:34 +0200 Subject: [PATCH] add migrations for new table, columns and modified column names --- ...1-change-resource-column-name-in-tables.js | 21 ++++++++++ ...d-columns-to-booking-reservations-table.js | 27 ++++++++++++ ...-create-office-resource-name-mapping.js.js | 41 +++++++++++++++++++ ...rce-column-in-door-lock-events-table.js.js | 14 +++++++ 4 files changed, 103 insertions(+) create mode 100644 migrations/20190603114921-change-resource-column-name-in-tables.js create mode 100644 migrations/20190603115116-add-columns-to-booking-reservations-table.js create mode 100644 migrations/20190608093226-create-office-resource-name-mapping.js.js create mode 100644 migrations/20190608093618-add-resource-column-in-door-lock-events-table.js.js diff --git a/migrations/20190603114921-change-resource-column-name-in-tables.js b/migrations/20190603114921-change-resource-column-name-in-tables.js new file mode 100644 index 0000000..a96138b --- /dev/null +++ b/migrations/20190603114921-change-resource-column-name-in-tables.js @@ -0,0 +1,21 @@ +'use strict'; + +module.exports = { + up: (queryInterface, Sequelize) => { + return queryInterface.sequelize.transaction((t) => { + return Promise.all([ + queryInterface.renameColumn('bookingReservations', 'resource', 'resourceId'), + queryInterface.renameColumn('doorLockIncidents', 'resource', 'resourceId'), + ]); + }); + }, + + down: (queryInterface, Sequelize) => { + return queryInterface.sequelize.transaction((t) => { + return Promise.all([ + queryInterface.renameColumn('doorLockIncidents', 'resourceId', 'resource'), + queryInterface.renameColumn('bookingReservations', 'resourceId', 'resource'), + ]); + }); + } +}; diff --git a/migrations/20190603115116-add-columns-to-booking-reservations-table.js b/migrations/20190603115116-add-columns-to-booking-reservations-table.js new file mode 100644 index 0000000..04c777c --- /dev/null +++ b/migrations/20190603115116-add-columns-to-booking-reservations-table.js @@ -0,0 +1,27 @@ +'use strict'; + +module.exports = { + up: (queryInterface, Sequelize) => { + return queryInterface.sequelize.transaction((t) => { + return Promise.all([ + queryInterface.addColumn('bookingReservations', 'timezone', { + type: Sequelize.TEXT, + after: 'end' + }), + queryInterface.addColumn('bookingReservations', 'canceled', { + type: Sequelize.BOOLEAN, + after: 'timezone' + }) + ]); + }); + }, + + down: (queryInterface, Sequelize) => { + return queryInterface.sequelize.transaction((t) => { + return Promise.all([ + queryInterface.removeColumn('bookingReservations', 'canceled'), + queryInterface.removeColumn('bookingReservations', 'timezone') + ]); + }); + } +}; diff --git a/migrations/20190608093226-create-office-resource-name-mapping.js.js b/migrations/20190608093226-create-office-resource-name-mapping.js.js new file mode 100644 index 0000000..c158392 --- /dev/null +++ b/migrations/20190608093226-create-office-resource-name-mapping.js.js @@ -0,0 +1,41 @@ +'use strict'; + +module.exports = { + up: (queryInterface, Sequelize) => { + return queryInterface.createTable('officeResourceMappings', { + id: { + allowNull: false, + autoIncrement: true, + primaryKey: true, + type: Sequelize.INTEGER + }, + officeSlug: { + allowNull: false, + type: Sequelize.TEXT, + }, + officeId: { + allowNull: false, + type: Sequelize.TEXT, + }, + resourceSlug: { + allowNull: false, + type: Sequelize.TEXT, + }, + resourceId: { + allowNull: false, + type: Sequelize.TEXT, + }, + createdAt: { + allowNull: false, + type: Sequelize.DATE + }, + updatedAt: { + allowNull: false, + type: Sequelize.DATE + } + }); + }, + down: (queryInterface, Sequelize) => { + return queryInterface.dropTable('officeResourceMappings'); + } +}; diff --git a/migrations/20190608093618-add-resource-column-in-door-lock-events-table.js.js b/migrations/20190608093618-add-resource-column-in-door-lock-events-table.js.js new file mode 100644 index 0000000..c716163 --- /dev/null +++ b/migrations/20190608093618-add-resource-column-in-door-lock-events-table.js.js @@ -0,0 +1,14 @@ +'use strict'; + +module.exports = { + up: (queryInterface, Sequelize) => { + return queryInterface.addColumn('doorLockEvents', 'resourceId', { + type: Sequelize.TEXT, + after: 'memberId', + }); + }, + + down: (queryInterface, Sequelize) => { + return queryInterface.removeColumn('doorLockEvents', 'resourceId'); + } +};