|
|
@ -97,7 +97,7 @@ class BaseModelSqlv2 { |
|
|
|
|
|
|
|
|
|
|
|
await this.selectObject({ qb }); |
|
|
|
await this.selectObject({ qb }); |
|
|
|
|
|
|
|
|
|
|
|
qb.where(this.model.primaryKey.column_name, id); |
|
|
|
qb.where(_wherePk(this.model.primaryKeys, id)); |
|
|
|
|
|
|
|
|
|
|
|
const data = (await this.extractRawQueryAndExec(qb))?.[0]; |
|
|
|
const data = (await this.extractRawQueryAndExec(qb))?.[0]; |
|
|
|
|
|
|
|
|
|
|
@ -1628,9 +1628,9 @@ class BaseModelSqlv2 { |
|
|
|
private getTnPath(tb: Model) { |
|
|
|
private getTnPath(tb: Model) { |
|
|
|
const schema = (this.dbDriver as any).searchPath?.(); |
|
|
|
const schema = (this.dbDriver as any).searchPath?.(); |
|
|
|
const table = |
|
|
|
const table = |
|
|
|
this.isMssql && schema |
|
|
|
this.isMssql && schema |
|
|
|
? this.dbDriver.raw('??.??', [schema, tb.table_name]) |
|
|
|
? this.dbDriver.raw('??.??', [schema, tb.table_name]) |
|
|
|
: tb.table_name; |
|
|
|
: tb.table_name; |
|
|
|
return table; |
|
|
|
return table; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -1826,12 +1826,16 @@ class BaseModelSqlv2 { |
|
|
|
// refer : https://www.sqlite.org/limits.html
|
|
|
|
// refer : https://www.sqlite.org/limits.html
|
|
|
|
const chunkSize = this.isSqlite ? 10 : _chunkSize; |
|
|
|
const chunkSize = this.isSqlite ? 10 : _chunkSize; |
|
|
|
|
|
|
|
|
|
|
|
const response = (this.isPg || this.isMssql) ? |
|
|
|
const response = |
|
|
|
await this.dbDriver |
|
|
|
this.isPg || this.isMssql |
|
|
|
.batchInsert(this.model.table_name, insertDatas, chunkSize) |
|
|
|
? await this.dbDriver |
|
|
|
.returning(this.model.primaryKey?.column_name) : |
|
|
|
.batchInsert(this.model.table_name, insertDatas, chunkSize) |
|
|
|
await this.dbDriver |
|
|
|
.returning(this.model.primaryKey?.column_name) |
|
|
|
.batchInsert(this.model.table_name, insertDatas, chunkSize); |
|
|
|
: await this.dbDriver.batchInsert( |
|
|
|
|
|
|
|
this.model.table_name, |
|
|
|
|
|
|
|
insertDatas, |
|
|
|
|
|
|
|
chunkSize |
|
|
|
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
|
|
await this.afterBulkInsert(insertDatas, this.dbDriver, cookie); |
|
|
|
await this.afterBulkInsert(insertDatas, this.dbDriver, cookie); |
|
|
|
|
|
|
|
|
|
|
|