From 2d8ff49769752de2c38aa8fa2b68b8e430655eaf Mon Sep 17 00:00:00 2001 From: Rafael Taranto Date: Wed, 30 Aug 2023 21:24:55 +0100 Subject: [PATCH] fix: migrations failing because of machine query --- lib/machine-loader.js | 6 ++++++ .../1630432869178-add-more-cassette-support.js | 18 +++++++++--------- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/lib/machine-loader.js b/lib/machine-loader.js index c60559c3..244f1962 100644 --- a/lib/machine-loader.js +++ b/lib/machine-loader.js @@ -62,6 +62,11 @@ function toMachineObject (r) { } } +function getMachineIds () { + const sql = 'select device_id from devices' + return db.any(sql) +} + function getMachines () { const sql = `${MACHINE_WITH_CALCULATED_FIELD_SQL} where display=TRUE ORDER BY created` return db.any(sql) @@ -439,6 +444,7 @@ module.exports = { getNetworkPerformance, getNetworkHeartbeat, getConfig, + getMachineIds, emptyMachineUnits, refillMachineUnits } diff --git a/migrations/1630432869178-add-more-cassette-support.js b/migrations/1630432869178-add-more-cassette-support.js index 1ee32f9b..70c906fe 100644 --- a/migrations/1630432869178-add-more-cassette-support.js +++ b/migrations/1630432869178-add-more-cassette-support.js @@ -1,7 +1,7 @@ var db = require('./db') const _ = require('lodash/fp') const { migrationSaveConfig, loadLatest } = require('../lib/new-settings-loader') -const { getMachines } = require('../lib/machine-loader') +const { getMachineIds } = require('../lib/machine-loader') exports.up = function (next) { var sql = [ @@ -25,20 +25,20 @@ exports.up = function (next) { ADD COLUMN denomination_4 INTEGER` ] - return Promise.all([loadLatest(), getMachines()]) - .then(([config, machines]) => { - const formattedMachines = _.map(it => _.pick(['deviceId'], it), machines) + return Promise.all([loadLatest(), getMachineIds()]) + .then(([config, machineIds]) => { const newConfig = _.reduce((acc, value) => { - if (_.includes(`cashOut_${value.deviceId}_top`, _.keys(config.config))) { - acc[`cashOut_${value.deviceId}_cassette1`] = config.config[`cashOut_${value.deviceId}_top`] + const deviceId = value.device_id + if (_.includes(`cashOut_${deviceId}_top`, _.keys(config.config))) { + acc[`cashOut_${deviceId}_cassette1`] = config.config[`cashOut_${deviceId}_top`] } - if (_.includes(`cashOut_${value.deviceId}_bottom`, _.keys(config.config))) { - acc[`cashOut_${value.deviceId}_cassette2`] = config.config[`cashOut_${value.deviceId}_bottom`] + if (_.includes(`cashOut_${deviceId}_bottom`, _.keys(config.config))) { + acc[`cashOut_${deviceId}_cassette2`] = config.config[`cashOut_${deviceId}_bottom`] } return acc - }, {}, formattedMachines) + }, {}, machineIds) return migrationSaveConfig(newConfig) .then(() => db.multi(sql, next))