From 245104c6ae771076a971e92af938d85a668526f8 Mon Sep 17 00:00:00 2001 From: NGPixel Date: Fri, 10 Apr 2020 16:06:43 -0400 Subject: [PATCH] fix: mssql + older mariadb migration 2.2.17 failure --- server/db/migrations/2.2.17.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/server/db/migrations/2.2.17.js b/server/db/migrations/2.2.17.js index 45b2ccacc0..8827115c42 100644 --- a/server/db/migrations/2.2.17.js +++ b/server/db/migrations/2.2.17.js @@ -6,10 +6,13 @@ exports.up = async knex => { let sqlVersionDate = '' switch (WIKI.config.db.type) { case 'postgres': - case 'mssql': sqlVersionDate = 'UPDATE "pageHistory" h1 SET "versionDate" = COALESCE((SELECT prev."createdAt" FROM "pageHistory" prev WHERE prev."pageId" = h1."pageId" AND prev.id < h1.id ORDER BY prev.id DESC LIMIT 1), h1."createdAt")' break + case 'mssql': + sqlVersionDate = 'UPDATE h1 SET "versionDate" = COALESCE((SELECT TOP 1 prev."createdAt" FROM "pageHistory" prev WHERE prev."pageId" = h1."pageId" AND prev.id < h1.id ORDER BY prev.id DESC), h1."createdAt") FROM "pageHistory" h1' + break case 'mysql': + case 'mariadb': // -> Fix for 2.2.50 failed migration const pageHistoryColumns = await knex.schema.raw('SHOW COLUMNS FROM pageHistory') if (_.some(pageHistoryColumns[0], ['Field', 'versionDate'])) { @@ -20,9 +23,9 @@ exports.up = async knex => { sqlVersionDate = `UPDATE pageHistory AS h1 INNER JOIN pageHistory AS h2 ON h2.id = (SELECT prev.id FROM (SELECT * FROM pageHistory) AS prev WHERE prev.pageId = h1.pageId AND prev.id < h1.id ORDER BY prev.id DESC LIMIT 1) SET h1.versionDate = h2.createdAt` break - case 'mariadb': - sqlVersionDate = `UPDATE pageHistory AS h1 INNER JOIN pageHistory AS h2 ON h2.id = (SELECT prev.id FROM pageHistory AS prev WHERE prev.pageId = h1.pageId AND prev.id < h1.id ORDER BY prev.id DESC LIMIT 1) SET h1.versionDate = h2.createdAt` - break + // case 'mariadb': + // sqlVersionDate = `UPDATE pageHistory AS h1 INNER JOIN pageHistory AS h2 ON h2.id = (SELECT prev.id FROM pageHistory AS prev WHERE prev.pageId = h1.pageId AND prev.id < h1.id ORDER BY prev.id DESC LIMIT 1) SET h1.versionDate = h2.createdAt` + // break } await knex.schema .alterTable('pageHistory', table => {