From fb4f51c7eaa5af06a8bdd82792e87b1ca866bc13 Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Mon, 28 Oct 2024 13:05:42 +0800 Subject: [PATCH] WIP --- extra/check-knex-filenames.mjs | 70 ------------------- .../mysql2/schema/mysql2-columncompiler.js | 2 +- 2 files changed, 1 insertion(+), 71 deletions(-) delete mode 100644 extra/check-knex-filenames.mjs diff --git a/extra/check-knex-filenames.mjs b/extra/check-knex-filenames.mjs deleted file mode 100644 index 1cd7a8e1..00000000 --- a/extra/check-knex-filenames.mjs +++ /dev/null @@ -1,70 +0,0 @@ -import fs from "fs"; -const dir = "./db/knex_migrations"; - -// Get the file list (ending with .js) from the directory -const files = fs.readdirSync(dir).filter((file) => file !== "README.md"); - -// They are wrong, but they had been merged, so allowed. -const exceptionList = [ - "2024-08-24-000-add-cache-bust.js", - "2024-10-1315-rabbitmq-monitor.js", -]; - -// Correct format: YYYY-MM-DD-HHmm-description.js - -for (const file of files) { - if (exceptionList.includes(file)) { - continue; - } - - // Check ending with .js - if (!file.endsWith(".js")) { - console.error(`It should end with .js: ${file}`); - process.exit(1); - } - - const parts = file.split("-"); - - // Should be at least 5 parts - if (parts.length < 5) { - console.error(`Invalid format: ${file}`); - process.exit(1); - } - - // First part should be a year >= 2024 - const year = parseInt(parts[0], 10); - if (isNaN(year) || year < 2023) { - console.error(`Invalid year: ${file}`); - process.exit(1); - } - - // Second part should be a month - const month = parseInt(parts[1], 10); - if (isNaN(month) || month < 1 || month > 12) { - console.error(`Invalid month: ${file}`); - process.exit(1); - } - - // Third part should be a day - const day = parseInt(parts[2], 10); - if (isNaN(day) || day < 1 || day > 31) { - console.error(`Invalid day: ${file}`); - process.exit(1); - } - - // Fourth part should be HHmm - const time = parts[3]; - - // Check length is 4 - if (time.length !== 4) { - console.error(`Invalid time: ${file}`); - process.exit(1); - } - - const hour = parseInt(time.substring(0, 2), 10); - const minute = parseInt(time.substring(2), 10); - if (isNaN(hour) || hour < 0 || hour > 23 || isNaN(minute) || minute < 0 || minute > 59) { - console.error(`Invalid time: ${file}`); - process.exit(1); - } -} diff --git a/server/utils/knex/lib/dialects/mysql2/schema/mysql2-columncompiler.js b/server/utils/knex/lib/dialects/mysql2/schema/mysql2-columncompiler.js index 6fe40fca..d05a6bc8 100644 --- a/server/utils/knex/lib/dialects/mysql2/schema/mysql2-columncompiler.js +++ b/server/utils/knex/lib/dialects/mysql2/schema/mysql2-columncompiler.js @@ -12,7 +12,7 @@ class KumaColumnCompiler extends ColumnCompilerMySQL { if (this.type === "text" && typeof value === "string") { log.debug("defaultTo", `${this.args[0]}: ${this.type} ${value} ${typeof value}`); // MySQL 8.0 is required and only if the value is written as an expression: https://dev.mysql.com/doc/refman/8.0/en/data-type-defaults.html - // MariaDB 10.2.1 is required: https://mariadb.com/kb/en/text/ + // MariaDB 10.2 is required: https://mariadb.com/kb/en/text/ return `default (${formatDefault(value, this.type, this.client)})`; } return super.defaultTo.apply(this, arguments);