fixes #7
2 changed files with 11 additions and 7 deletions
|
@ -14,7 +14,7 @@ export class DB {
|
||||||
type: dbType;
|
type: dbType;
|
||||||
mariaPool!: mariadb.Pool;
|
mariaPool!: mariadb.Pool;
|
||||||
//pgPool!: pg.Pool;
|
//pgPool!: pg.Pool;
|
||||||
constructor({ host, user, password, database, connectionLimit = 5, databaseType = dbType.mariadb }: { host: string, user: string, password: string, database: string, connectionLimit: number, databaseType: dbType }) {
|
constructor({ host, user, password, database, connectionLimit = 5, databaseType = dbType.mariadb }: { host: string, user: string, password: string, database: string, connectionLimit?: number, databaseType?: dbType }) {
|
||||||
this.type = databaseType;
|
this.type = databaseType;
|
||||||
if (databaseType == dbType.mariadb) {
|
if (databaseType == dbType.mariadb) {
|
||||||
this.mariaPool = mariadb.createPool({ host, user, password, database, connectionLimit, multipleStatements: true });
|
this.mariaPool = mariadb.createPool({ host, user, password, database, connectionLimit, multipleStatements: true });
|
||||||
|
|
|
@ -181,7 +181,7 @@ export class Handler {
|
||||||
const attrData = tableD[keys[j]];
|
const attrData = tableD[keys[j]];
|
||||||
if (attrData == null) {
|
if (attrData == null) {
|
||||||
create.appendEnding(handler.querys.addColumn(handler, a));
|
create.appendEnding(handler.querys.addColumn(handler, a));
|
||||||
changePrimary = true;
|
if (a.ops.primaryKey) changePrimary = true;
|
||||||
} else if (
|
} else if (
|
||||||
!handler.builders.compareDatatypes(handler, a.type, attrData.Type) ||
|
!handler.builders.compareDatatypes(handler, a.type, attrData.Type) ||
|
||||||
a.ops.default != attrData.Default ||
|
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.notNull || !!a.ops.autoIncrement || !!a.ops.primaryKey), (attrData.Null == "NO"), "|",
|
||||||
(!!a.ops.autoIncrement), (attrData.Extra == "auto_increment"));*/
|
(!!a.ops.autoIncrement), (attrData.Extra == "auto_increment"));*/
|
||||||
freeForUpdate(a.name, a.table.dbLangTableName);
|
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));
|
create.appendEnding(handler.querys.changeColumn(handler, a));
|
||||||
|
a.ops.autoIncrement = true;
|
||||||
|
connst.appendEnding(handler.querys.changeColumn(handler, a));
|
||||||
}
|
}
|
||||||
if (attrData == null) {
|
else create.appendEnding(handler.querys.changeColumn(handler, a));
|
||||||
changePrimary = true;
|
}
|
||||||
} else {
|
if (attrData != null) {
|
||||||
if ((attrData.Key == "PRI") != (!!a.ops.primaryKey)) {
|
if ((attrData.Key == "PRI") != (!!a.ops.primaryKey)) {
|
||||||
freeForUpdate(a.name, a.table.dbLangTableName);
|
freeForUpdate(a.name, a.table.dbLangTableName);
|
||||||
|
console.log("206");
|
||||||
changePrimary = true;
|
changePrimary = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -454,7 +458,7 @@ export class Handler {
|
||||||
let primaAttr = Object.entries(table.dbLangTableAttributes)
|
let primaAttr = Object.entries(table.dbLangTableAttributes)
|
||||||
.filter(([n, attr]) => !!attr.ops.primaryKey);
|
.filter(([n, attr]) => !!attr.ops.primaryKey);
|
||||||
const qb = new QueryBuilder();
|
const qb = new QueryBuilder();
|
||||||
if(primaAttr.length == 0) return qb;
|
if (primaAttr.length == 0) return qb;
|
||||||
qb.addCode("ALTER TABLE ");
|
qb.addCode("ALTER TABLE ");
|
||||||
qb.addCode(table.serialize(handler));
|
qb.addCode(table.serialize(handler));
|
||||||
qb.addCode(" add PRIMARY KEY if not exists (");
|
qb.addCode(" add PRIMARY KEY if not exists (");
|
||||||
|
|
Loading…
Reference in a new issue