fix(mysql): support Alibaba AnalyticDB returning version() column name in getVersion() (#11555)

This commit is contained in:
Rhydian 2025-07-09 03:45:21 +08:00 committed by GitHub
parent 3c26cf18a7
commit 1737e97d1a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -3371,16 +3371,18 @@ export class MysqlQueryRunner extends BaseQueryRunner implements QueryRunner {
}
async getVersion(): Promise<string> {
const result: [{ version: string }] = await this.query(
`SELECT VERSION() AS \`version\``,
const result: [{ "version()": string }] = await this.query(
"SELECT version()",
)
// MariaDB: https://mariadb.com/kb/en/version/
// - "10.2.27-MariaDB-10.2.27+maria~jessie-log"
// MySQL: https://dev.mysql.com/doc/refman/8.4/en/information-functions.html#function_version
// - "8.4.3"
// - "8.4.4-standard"
const versionString = result[0].version
const versionString = result[0]["version()"]
return versionString.replace(/^([\d.]+).*$/, "$1")
}