From 3707ca2d2cd55a81e3b802da571a387dce0bc7c7 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Fri, 25 Feb 2022 19:24:14 +0100 Subject: [PATCH] fix timezone problem --- database/migrations/0027-decimal_types.ts | 10 ++++------ database/package.json | 14 +++++++------- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/database/migrations/0027-decimal_types.ts b/database/migrations/0027-decimal_types.ts index 78cd03830..d645be9a6 100644 --- a/database/migrations/0027-decimal_types.ts +++ b/database/migrations/0027-decimal_types.ts @@ -14,6 +14,8 @@ * * And it will convert all timestamps to * datetime. + * + * WARNING: This Migration must be run in TZ=UTC */ /* eslint-disable @typescript-eslint/explicit-module-boundary-types */ @@ -165,13 +167,9 @@ export async function upgrade(queryFn: (query: string, values?: any[]) => Promis } const decayStartDate = previous ? previous.balance_date : transaction.balance_date const decay = calculateDecay(balance, decayStartDate, transaction.balance_date) + // WARNING: `toISOString()` needs UTC Timezone to work properly! const decayStart = decay.start - ? '"' + - new Date(decay.start.getTime() - 2 * new Date().getTimezoneOffset() * 60000) - .toISOString() - .slice(0, 19) - .replace('T', ' ') + - '"' + ? '"' + decay.start.toISOString().slice(0, 19).replace('T', ' ') + '"' : null balance = decay.balance.add(decAmount) const tempDecSendSenderFinalBalance = transaction.send_sender_final_balance diff --git a/database/package.json b/database/package.json index 25e45bd71..29f5ba511 100644 --- a/database/package.json +++ b/database/package.json @@ -10,15 +10,15 @@ "scripts": { "build": "mkdir -p build/src/config/ && cp src/config/*.txt build/src/config/ && tsc --build", "clean": "tsc --build --clean", - "up": "node build/src/index.js up", - "down": "node build/src/index.js down", - "reset": "node build/src/index.js reset", - "dev_up": "ts-node src/index.ts up", - "dev_down": "ts-node src/index.ts down", - "dev_reset": "ts-node src/index.ts reset", + "up": "TZ=UTC node build/src/index.js up", + "down": "TZ=UTC node build/src/index.js down", + "reset": "TZ=UTC node build/src/index.js reset", + "dev_up": "TZ=UTC ts-node src/index.ts up", + "dev_down": "TZ=UTC ts-node src/index.ts down", + "dev_reset": "TZ=UTC ts-node src/index.ts reset", "lint": "eslint --max-warnings=0 --ext .js,.ts .", "seed:config": "ts-node ./node_modules/typeorm-seeding/dist/cli.js config", - "seed": "ts-node src/index.ts seed" + "seed": "TZ=UTC ts-node src/index.ts seed" }, "devDependencies": { "@types/faker": "^5.5.9",