From 6087628f2ad483e004973303cbd67a2953291390 Mon Sep 17 00:00:00 2001 From: Muhammad Aaqil Date: Tue, 25 Jun 2024 22:51:50 +0500 Subject: [PATCH] fix: mark primary key auto-increment only if column type is TINYINT SMALLINT MEDIUMINT INT BIGINT Signed-off-by: Muhammad Aaqil --- lib/migration.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/lib/migration.js b/lib/migration.js index 6e69174a..8c30bbc7 100644 --- a/lib/migration.js +++ b/lib/migration.js @@ -628,13 +628,19 @@ function mixinMigration(MySQL, mysql) { if (pks.length === 1) { const idName = this.idName(model); const idProp = this.getModelDefinition(model).properties[idName]; - if (idProp.generated) { + const idColumnType = this.columnDataType(model, idName); + if (idProp.generated && ( + idColumnType === 'TINYINT' || + idColumnType === 'SMALLINT' || + idColumnType === 'MEDIUMINT' || + idColumnType === 'INT' || + idColumnType === 'BIGINT')) { sql.push(self.columnEscaped(model, idName) + ' ' + - self.buildColumnDefinition(model, idName) + ' AUTO_INCREMENT PRIMARY KEY'); + self.buildColumnDefinition(model, idName) + ' AUTO_INCREMENT PRIMARY KEY'); } else { idProp.nullable = false; sql.push(self.columnEscaped(model, idName) + ' ' + - self.buildColumnDefinition(model, idName) + ' PRIMARY KEY'); + self.buildColumnDefinition(model, idName) + ' PRIMARY KEY'); } } Object.keys(definition.properties).forEach(function(prop) {