diff --git a/src/driver/aurora-data-api/AuroraDataApiQueryRunner.ts b/src/driver/aurora-data-api/AuroraDataApiQueryRunner.ts index 48cdd5ced6a..db48a450fc9 100644 --- a/src/driver/aurora-data-api/AuroraDataApiQueryRunner.ts +++ b/src/driver/aurora-data-api/AuroraDataApiQueryRunner.ts @@ -1221,8 +1221,14 @@ export class AuroraDataApiQueryRunner extends BaseQueryRunner implements QueryRu if (indexTableFullName !== tableFullName) { return false; } - // tslint:disable-next-line:triple-equals - trying to find truthy value - return dbIndex["COLUMN_NAME"] === dbColumn["COLUMN_NAME"] && dbIndex["NON_UNIQUE"] == "0"; + + // Index is not for this column + if (dbIndex["COLUMN_NAME"] !== dbColumn["COLUMN_NAME"]) { + return false; + } + + const nonUnique = parseInt(dbIndex["NON_UNIQUE"], 10); + return nonUnique === 0; }); const tableMetadata = this.connection.entityMetadatas.find(metadata => metadata.tablePath === table.name); diff --git a/src/driver/mysql/MysqlQueryRunner.ts b/src/driver/mysql/MysqlQueryRunner.ts index 417eefd85ae..eb3b322ac8d 100644 --- a/src/driver/mysql/MysqlQueryRunner.ts +++ b/src/driver/mysql/MysqlQueryRunner.ts @@ -1270,8 +1270,14 @@ export class MysqlQueryRunner extends BaseQueryRunner implements QueryRunner { if (indexTableFullName !== tableFullName) { return false; } - // tslint:disable-next-line:triple-equals - trying to find truthy value - return dbIndex["COLUMN_NAME"] === dbColumn["COLUMN_NAME"] && dbIndex["NON_UNIQUE"] == "0"; + + // Index is not for this column + if (dbIndex["COLUMN_NAME"] !== dbColumn["COLUMN_NAME"]) { + return false; + } + + const nonUnique = parseInt(dbIndex["NON_UNIQUE"], 10); + return nonUnique === 0; }); const tableMetadata = this.connection.entityMetadatas.find(metadata => metadata.tablePath === table.name); diff --git a/test/github-issues/2737/issue-2737.ts b/test/github-issues/2737/issue-2737.ts index 5b0c983dac3..49ef69bc5af 100644 --- a/test/github-issues/2737/issue-2737.ts +++ b/test/github-issues/2737/issue-2737.ts @@ -3,7 +3,7 @@ import "reflect-metadata"; import {Connection} from "../../../src/connection/Connection"; import {createTestingConnections, closeTestingConnections, reloadTestingDatabases} from "../../utils/test-utils"; -describe.only("github issues > #2737 MySQLDriver findChangedColumns (fields: width, precision)", () => { +describe("github issues > #2737 MySQLDriver findChangedColumns (fields: width, precision)", () => { let connections: Connection[]; before(async () => connections = await createTestingConnections({