From 7db74acad7ceea6291787726f4f1b1267978cecb Mon Sep 17 00:00:00 2001 From: Nedim Uka Date: Wed, 29 May 2019 13:40:35 +0200 Subject: [PATCH] Set range fileds to be integer instead of strings --- app/migrations/20190529133445-range-fields.js | 63 +++++++++++++++++++ app/models/realestaterequest.js | 12 ++-- 2 files changed, 69 insertions(+), 6 deletions(-) create mode 100644 app/migrations/20190529133445-range-fields.js diff --git a/app/migrations/20190529133445-range-fields.js b/app/migrations/20190529133445-range-fields.js new file mode 100644 index 0000000..3f056e2 --- /dev/null +++ b/app/migrations/20190529133445-range-fields.js @@ -0,0 +1,63 @@ +module.exports = { + up: (queryInterface, Sequelize) => { + return queryInterface.sequelize.transaction((t) => { + return Promise.all([ + queryInterface.removeColumn('RealEstateRequests', 'sizeRange', { transaction: t }), + queryInterface.removeColumn('RealEstateRequests', 'gardenSizeRange', { transaction: t }), + queryInterface.removeColumn('RealEstateRequests', 'priceRange', { transaction: t }), + queryInterface.removeColumn('RealEstateRequests', 'size', { transaction: t }), + queryInterface.removeColumn('RealEstateRequests', 'gardenSize', { transaction: t }), + queryInterface.removeColumn('RealEstateRequests', 'price', { transaction: t }), + queryInterface.addColumn('RealEstateRequests', 'sizeRange', { + type: Sequelize.INTEGER + }, { transaction: t }), + queryInterface.addColumn('RealEstateRequests', 'gardenSizeRange', { + type: Sequelize.INTEGER, + }, { transaction: t }), + queryInterface.addColumn('RealEstateRequests', 'priceRange', { + type: Sequelize.INTEGER, + }, { transaction: t }), + queryInterface.addColumn('RealEstateRequests', 'size', { + type: Sequelize.INTEGER + }, { transaction: t }), + queryInterface.addColumn('RealEstateRequests', 'gardenSize', { + type: Sequelize.INTEGER, + }, { transaction: t }), + queryInterface.addColumn('RealEstateRequests', 'price', { + type: Sequelize.INTEGER, + }, { transaction: t }) + ]) + }) + }, + + down: (queryInterface, Sequelize) => { + return queryInterface.sequelize.transaction((t) => { + return Promise.all([ + queryInterface.removeColumn('RealEstateRequests', 'sizeRange', { transaction: t }), + queryInterface.removeColumn('RealEstateRequests', 'gardenSizeRange', { transaction: t }), + queryInterface.removeColumn('RealEstateRequests', 'priceRange', { transaction: t }), + queryInterface.removeColumn('RealEstateRequests', 'size', { transaction: t }), + queryInterface.removeColumn('RealEstateRequests', 'gardenSize', { transaction: t }), + queryInterface.removeColumn('RealEstateRequests', 'price', { transaction: t }), + queryInterface.addColumn('RealEstateRequests', 'sizeRange', { + type: Sequelize.STRING + }, { transaction: t }), + queryInterface.addColumn('RealEstateRequests', 'gardenSizeRange', { + type: Sequelize.STRING, + }, { transaction: t }), + queryInterface.addColumn('RealEstateRequests', 'priceRange', { + type: Sequelize.STRING, + }, { transaction: t }), + queryInterface.addColumn('RealEstateRequests', 'size', { + type: Sequelize.STRING + }, { transaction: t }), + queryInterface.addColumn('RealEstateRequests', 'gardenSize', { + type: Sequelize.STRING, + }, { transaction: t }), + queryInterface.addColumn('RealEstateRequests', 'price', { + type: Sequelize.STRING, + }, { transaction: t }) + ]) + }) + } +}; \ No newline at end of file diff --git a/app/models/realestaterequest.js b/app/models/realestaterequest.js index 228bbc6..c26cd41 100644 --- a/app/models/realestaterequest.js +++ b/app/models/realestaterequest.js @@ -12,12 +12,12 @@ module.exports = (sequelize, DataTypes) => { email: DataTypes.STRING, region: DataTypes.STRING, municipality: DataTypes.STRING, - size: DataTypes.STRING, - sizeRange: DataTypes.STRING, - gardenSize: DataTypes.STRING, - gardenSizeRange: DataTypes.STRING, - price: DataTypes.STRING, - priceRange: DataTypes.STRING, + size: DataTypes.INTEGER, + sizeRange: DataTypes.INTEGER, + gardenSize: DataTypes.INTEGER, + gardenSizeRange: DataTypes.INTEGER, + price: DataTypes.INTEGER, + priceRange: DataTypes.INTEGER, bounding_box: DataTypes.GEOMETRY('POINT', 4326) }, {}); RealEstateRequest.associate = function(models) {