diff --git a/src/defaultHandler.ts b/src/defaultHandler.ts index 81398e1..d98d186 100644 --- a/src/defaultHandler.ts +++ b/src/defaultHandler.ts @@ -181,7 +181,7 @@ export class Handler { const attrData = tableD[keys[j]]; if (attrData == null) { create.appendEnding(handler.querys.addColumn(handler, a)); - changePrimary = true; + if (a.ops.primaryKey) changePrimary = true; } else if ( !handler.builders.compareDatatypes(handler, a.type, attrData.Type) || a.ops.default != attrData.Default || @@ -193,14 +193,18 @@ export class Handler { (!!a.ops.notNull || !!a.ops.autoIncrement || !!a.ops.primaryKey), (attrData.Null == "NO"), "|", (!!a.ops.autoIncrement), (attrData.Extra == "auto_increment"));*/ freeForUpdate(a.name, a.table.dbLangTableName); - if (a.ops.autoIncrement) + if (a.ops.autoIncrement) { + a.ops.autoIncrement = false; create.appendEnding(handler.querys.changeColumn(handler, a)); + a.ops.autoIncrement = true; + connst.appendEnding(handler.querys.changeColumn(handler, a)); + } + else create.appendEnding(handler.querys.changeColumn(handler, a)); } - if (attrData == null) { - changePrimary = true; - } else { + if (attrData != null) { if ((attrData.Key == "PRI") != (!!a.ops.primaryKey)) { freeForUpdate(a.name, a.table.dbLangTableName); + console.log("206"); changePrimary = true; } } @@ -454,7 +458,7 @@ export class Handler { let primaAttr = Object.entries(table.dbLangTableAttributes) .filter(([n, attr]) => !!attr.ops.primaryKey); const qb = new QueryBuilder(); - if(primaAttr.length == 0) return qb; + if (primaAttr.length == 0) return qb; qb.addCode("ALTER TABLE "); qb.addCode(table.serialize(handler)); qb.addCode(" add PRIMARY KEY if not exists (");