drizzle-kit 0.28.0-cc4f208 → 0.28.1-442f74d
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api.js +1007 -709
- package/api.mjs +1007 -709
- package/bin.cjs +1 -1
- package/package.json +1 -1
package/api.js
CHANGED
|
@@ -21121,7 +21121,7 @@ var version;
|
|
|
21121
21121
|
var init_version = __esm({
|
|
21122
21122
|
"../drizzle-orm/dist/version.js"() {
|
|
21123
21123
|
"use strict";
|
|
21124
|
-
version = "0.36.
|
|
21124
|
+
version = "0.36.3";
|
|
21125
21125
|
}
|
|
21126
21126
|
});
|
|
21127
21127
|
|
|
@@ -22144,7 +22144,7 @@ function haveSameKeys(left, right) {
|
|
|
22144
22144
|
}
|
|
22145
22145
|
function mapUpdateSet(table4, values) {
|
|
22146
22146
|
const entries = Object.entries(values).filter(([, value]) => value !== void 0).map(([key, value]) => {
|
|
22147
|
-
if (is(value, SQL)) {
|
|
22147
|
+
if (is(value, SQL) || is(value, Column2)) {
|
|
22148
22148
|
return [key, value];
|
|
22149
22149
|
} else {
|
|
22150
22150
|
return [key, new Param(value, table4[Table2.Symbol.Columns][key])];
|
|
@@ -24583,9 +24583,10 @@ var init_delete = __esm({
|
|
|
24583
24583
|
constructor(table4, session, dialect4, withList) {
|
|
24584
24584
|
super();
|
|
24585
24585
|
__publicField(this, "config");
|
|
24586
|
+
__publicField(this, "authToken");
|
|
24586
24587
|
__publicField(this, "execute", (placeholderValues) => {
|
|
24587
24588
|
return tracer.startActiveSpan("drizzle.operation", () => {
|
|
24588
|
-
return this._prepare().execute(placeholderValues);
|
|
24589
|
+
return this._prepare().execute(placeholderValues, this.authToken);
|
|
24589
24590
|
});
|
|
24590
24591
|
});
|
|
24591
24592
|
this.session = session;
|
|
@@ -24646,167 +24647,16 @@ var init_delete = __esm({
|
|
|
24646
24647
|
prepare(name2) {
|
|
24647
24648
|
return this._prepare(name2);
|
|
24648
24649
|
}
|
|
24649
|
-
$dynamic() {
|
|
24650
|
-
return this;
|
|
24651
|
-
}
|
|
24652
|
-
};
|
|
24653
|
-
__publicField(PgDeleteBase, _a124, "PgDelete");
|
|
24654
|
-
}
|
|
24655
|
-
});
|
|
24656
|
-
|
|
24657
|
-
// ../drizzle-orm/dist/pg-core/query-builders/insert.js
|
|
24658
|
-
var _a125, PgInsertBuilder, _a126, _b98, PgInsertBase;
|
|
24659
|
-
var init_insert = __esm({
|
|
24660
|
-
"../drizzle-orm/dist/pg-core/query-builders/insert.js"() {
|
|
24661
|
-
"use strict";
|
|
24662
|
-
init_entity();
|
|
24663
|
-
init_query_promise();
|
|
24664
|
-
init_sql();
|
|
24665
|
-
init_table();
|
|
24666
|
-
init_tracing();
|
|
24667
|
-
init_utils2();
|
|
24668
|
-
_a125 = entityKind;
|
|
24669
|
-
PgInsertBuilder = class {
|
|
24670
|
-
constructor(table4, session, dialect4, withList) {
|
|
24671
|
-
this.table = table4;
|
|
24672
|
-
this.session = session;
|
|
24673
|
-
this.dialect = dialect4;
|
|
24674
|
-
this.withList = withList;
|
|
24675
|
-
}
|
|
24676
|
-
values(values) {
|
|
24677
|
-
values = Array.isArray(values) ? values : [values];
|
|
24678
|
-
if (values.length === 0) {
|
|
24679
|
-
throw new Error("values() must be called with at least one value");
|
|
24680
|
-
}
|
|
24681
|
-
const mappedValues = values.map((entry) => {
|
|
24682
|
-
const result = {};
|
|
24683
|
-
const cols = this.table[Table2.Symbol.Columns];
|
|
24684
|
-
for (const colKey of Object.keys(entry)) {
|
|
24685
|
-
const colValue = entry[colKey];
|
|
24686
|
-
result[colKey] = is(colValue, SQL) ? colValue : new Param(colValue, cols[colKey]);
|
|
24687
|
-
}
|
|
24688
|
-
return result;
|
|
24689
|
-
});
|
|
24690
|
-
return new PgInsertBase(this.table, mappedValues, this.session, this.dialect, this.withList);
|
|
24691
|
-
}
|
|
24692
|
-
};
|
|
24693
|
-
__publicField(PgInsertBuilder, _a125, "PgInsertBuilder");
|
|
24694
|
-
PgInsertBase = class extends (_b98 = QueryPromise, _a126 = entityKind, _b98) {
|
|
24695
|
-
constructor(table4, values, session, dialect4, withList) {
|
|
24696
|
-
super();
|
|
24697
|
-
__publicField(this, "config");
|
|
24698
|
-
__publicField(this, "execute", (placeholderValues) => {
|
|
24699
|
-
return tracer.startActiveSpan("drizzle.operation", () => {
|
|
24700
|
-
return this._prepare().execute(placeholderValues);
|
|
24701
|
-
});
|
|
24702
|
-
});
|
|
24703
|
-
this.session = session;
|
|
24704
|
-
this.dialect = dialect4;
|
|
24705
|
-
this.config = { table: table4, values, withList };
|
|
24706
|
-
}
|
|
24707
|
-
returning(fields = this.config.table[Table2.Symbol.Columns]) {
|
|
24708
|
-
this.config.returning = orderSelectedFields(fields);
|
|
24709
|
-
return this;
|
|
24710
|
-
}
|
|
24711
|
-
/**
|
|
24712
|
-
* Adds an `on conflict do nothing` clause to the query.
|
|
24713
|
-
*
|
|
24714
|
-
* Calling this method simply avoids inserting a row as its alternative action.
|
|
24715
|
-
*
|
|
24716
|
-
* See docs: {@link https://orm.drizzle.team/docs/insert#on-conflict-do-nothing}
|
|
24717
|
-
*
|
|
24718
|
-
* @param config The `target` and `where` clauses.
|
|
24719
|
-
*
|
|
24720
|
-
* @example
|
|
24721
|
-
* ```ts
|
|
24722
|
-
* // Insert one row and cancel the insert if there's a conflict
|
|
24723
|
-
* await db.insert(cars)
|
|
24724
|
-
* .values({ id: 1, brand: 'BMW' })
|
|
24725
|
-
* .onConflictDoNothing();
|
|
24726
|
-
*
|
|
24727
|
-
* // Explicitly specify conflict target
|
|
24728
|
-
* await db.insert(cars)
|
|
24729
|
-
* .values({ id: 1, brand: 'BMW' })
|
|
24730
|
-
* .onConflictDoNothing({ target: cars.id });
|
|
24731
|
-
* ```
|
|
24732
|
-
*/
|
|
24733
|
-
onConflictDoNothing(config = {}) {
|
|
24734
|
-
if (config.target === void 0) {
|
|
24735
|
-
this.config.onConflict = sql`do nothing`;
|
|
24736
|
-
} else {
|
|
24737
|
-
let targetColumn = "";
|
|
24738
|
-
targetColumn = Array.isArray(config.target) ? config.target.map((it) => this.dialect.escapeName(this.dialect.casing.getColumnCasing(it))).join(",") : this.dialect.escapeName(this.dialect.casing.getColumnCasing(config.target));
|
|
24739
|
-
const whereSql = config.where ? sql` where ${config.where}` : void 0;
|
|
24740
|
-
this.config.onConflict = sql`(${sql.raw(targetColumn)})${whereSql} do nothing`;
|
|
24741
|
-
}
|
|
24742
|
-
return this;
|
|
24743
|
-
}
|
|
24744
|
-
/**
|
|
24745
|
-
* Adds an `on conflict do update` clause to the query.
|
|
24746
|
-
*
|
|
24747
|
-
* Calling this method will update the existing row that conflicts with the row proposed for insertion as its alternative action.
|
|
24748
|
-
*
|
|
24749
|
-
* See docs: {@link https://orm.drizzle.team/docs/insert#upserts-and-conflicts}
|
|
24750
|
-
*
|
|
24751
|
-
* @param config The `target`, `set` and `where` clauses.
|
|
24752
|
-
*
|
|
24753
|
-
* @example
|
|
24754
|
-
* ```ts
|
|
24755
|
-
* // Update the row if there's a conflict
|
|
24756
|
-
* await db.insert(cars)
|
|
24757
|
-
* .values({ id: 1, brand: 'BMW' })
|
|
24758
|
-
* .onConflictDoUpdate({
|
|
24759
|
-
* target: cars.id,
|
|
24760
|
-
* set: { brand: 'Porsche' }
|
|
24761
|
-
* });
|
|
24762
|
-
*
|
|
24763
|
-
* // Upsert with 'where' clause
|
|
24764
|
-
* await db.insert(cars)
|
|
24765
|
-
* .values({ id: 1, brand: 'BMW' })
|
|
24766
|
-
* .onConflictDoUpdate({
|
|
24767
|
-
* target: cars.id,
|
|
24768
|
-
* set: { brand: 'newBMW' },
|
|
24769
|
-
* targetWhere: sql`${cars.createdAt} > '2023-01-01'::date`,
|
|
24770
|
-
* });
|
|
24771
|
-
* ```
|
|
24772
|
-
*/
|
|
24773
|
-
onConflictDoUpdate(config) {
|
|
24774
|
-
if (config.where && (config.targetWhere || config.setWhere)) {
|
|
24775
|
-
throw new Error(
|
|
24776
|
-
'You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.'
|
|
24777
|
-
);
|
|
24778
|
-
}
|
|
24779
|
-
const whereSql = config.where ? sql` where ${config.where}` : void 0;
|
|
24780
|
-
const targetWhereSql = config.targetWhere ? sql` where ${config.targetWhere}` : void 0;
|
|
24781
|
-
const setWhereSql = config.setWhere ? sql` where ${config.setWhere}` : void 0;
|
|
24782
|
-
const setSql = this.dialect.buildUpdateSet(this.config.table, mapUpdateSet(this.config.table, config.set));
|
|
24783
|
-
let targetColumn = "";
|
|
24784
|
-
targetColumn = Array.isArray(config.target) ? config.target.map((it) => this.dialect.escapeName(this.dialect.casing.getColumnCasing(it))).join(",") : this.dialect.escapeName(this.dialect.casing.getColumnCasing(config.target));
|
|
24785
|
-
this.config.onConflict = sql`(${sql.raw(targetColumn)})${targetWhereSql} do update set ${setSql}${whereSql}${setWhereSql}`;
|
|
24786
|
-
return this;
|
|
24787
|
-
}
|
|
24788
|
-
/** @internal */
|
|
24789
|
-
getSQL() {
|
|
24790
|
-
return this.dialect.buildInsertQuery(this.config);
|
|
24791
|
-
}
|
|
24792
|
-
toSQL() {
|
|
24793
|
-
const { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());
|
|
24794
|
-
return rest;
|
|
24795
|
-
}
|
|
24796
24650
|
/** @internal */
|
|
24797
|
-
|
|
24798
|
-
|
|
24799
|
-
|
|
24800
|
-
});
|
|
24801
|
-
}
|
|
24802
|
-
prepare(name2) {
|
|
24803
|
-
return this._prepare(name2);
|
|
24651
|
+
setToken(token) {
|
|
24652
|
+
this.authToken = token;
|
|
24653
|
+
return this;
|
|
24804
24654
|
}
|
|
24805
24655
|
$dynamic() {
|
|
24806
24656
|
return this;
|
|
24807
24657
|
}
|
|
24808
24658
|
};
|
|
24809
|
-
__publicField(
|
|
24659
|
+
__publicField(PgDeleteBase, _a124, "PgDelete");
|
|
24810
24660
|
}
|
|
24811
24661
|
});
|
|
24812
24662
|
|
|
@@ -24825,13 +24675,13 @@ function toCamelCase(input) {
|
|
|
24825
24675
|
function noopCase(input) {
|
|
24826
24676
|
return input;
|
|
24827
24677
|
}
|
|
24828
|
-
var
|
|
24678
|
+
var _a125, CasingCache;
|
|
24829
24679
|
var init_casing = __esm({
|
|
24830
24680
|
"../drizzle-orm/dist/casing.js"() {
|
|
24831
24681
|
"use strict";
|
|
24832
24682
|
init_entity();
|
|
24833
24683
|
init_table();
|
|
24834
|
-
|
|
24684
|
+
_a125 = entityKind;
|
|
24835
24685
|
CasingCache = class {
|
|
24836
24686
|
constructor(casing2) {
|
|
24837
24687
|
/** @internal */
|
|
@@ -24868,25 +24718,25 @@ var init_casing = __esm({
|
|
|
24868
24718
|
this.cachedTables = {};
|
|
24869
24719
|
}
|
|
24870
24720
|
};
|
|
24871
|
-
__publicField(CasingCache,
|
|
24721
|
+
__publicField(CasingCache, _a125, "CasingCache");
|
|
24872
24722
|
}
|
|
24873
24723
|
});
|
|
24874
24724
|
|
|
24875
24725
|
// ../drizzle-orm/dist/pg-core/view-base.js
|
|
24876
|
-
var
|
|
24726
|
+
var _a126, _b98, PgViewBase;
|
|
24877
24727
|
var init_view_base = __esm({
|
|
24878
24728
|
"../drizzle-orm/dist/pg-core/view-base.js"() {
|
|
24879
24729
|
"use strict";
|
|
24880
24730
|
init_entity();
|
|
24881
24731
|
init_sql();
|
|
24882
|
-
PgViewBase = class extends (
|
|
24732
|
+
PgViewBase = class extends (_b98 = View3, _a126 = entityKind, _b98) {
|
|
24883
24733
|
};
|
|
24884
|
-
__publicField(PgViewBase,
|
|
24734
|
+
__publicField(PgViewBase, _a126, "PgViewBase");
|
|
24885
24735
|
}
|
|
24886
24736
|
});
|
|
24887
24737
|
|
|
24888
24738
|
// ../drizzle-orm/dist/pg-core/dialect.js
|
|
24889
|
-
var
|
|
24739
|
+
var _a127, PgDialect;
|
|
24890
24740
|
var init_dialect = __esm({
|
|
24891
24741
|
"../drizzle-orm/dist/pg-core/dialect.js"() {
|
|
24892
24742
|
"use strict";
|
|
@@ -24905,7 +24755,7 @@ var init_dialect = __esm({
|
|
|
24905
24755
|
init_utils2();
|
|
24906
24756
|
init_view_common();
|
|
24907
24757
|
init_view_base();
|
|
24908
|
-
|
|
24758
|
+
_a127 = entityKind;
|
|
24909
24759
|
PgDialect = class {
|
|
24910
24760
|
constructor(config) {
|
|
24911
24761
|
/** @internal */
|
|
@@ -24985,12 +24835,19 @@ var init_dialect = __esm({
|
|
|
24985
24835
|
return [res];
|
|
24986
24836
|
}));
|
|
24987
24837
|
}
|
|
24988
|
-
buildUpdateQuery({ table: table4, set, where, returning, withList }) {
|
|
24838
|
+
buildUpdateQuery({ table: table4, set, where, returning, withList, from, joins }) {
|
|
24989
24839
|
const withSql = this.buildWithCTE(withList);
|
|
24840
|
+
const tableName = table4[PgTable.Symbol.Name];
|
|
24841
|
+
const tableSchema = table4[PgTable.Symbol.Schema];
|
|
24842
|
+
const origTableName = table4[PgTable.Symbol.OriginalName];
|
|
24843
|
+
const alias = tableName === origTableName ? void 0 : tableName;
|
|
24844
|
+
const tableSql = sql`${tableSchema ? sql`${sql.identifier(tableSchema)}.` : void 0}${sql.identifier(origTableName)}${alias && sql` ${sql.identifier(alias)}`}`;
|
|
24990
24845
|
const setSql = this.buildUpdateSet(table4, set);
|
|
24991
|
-
const
|
|
24846
|
+
const fromSql = from && sql.join([sql.raw(" from "), this.buildFromTable(from)]);
|
|
24847
|
+
const joinsSql = this.buildJoins(joins);
|
|
24848
|
+
const returningSql = returning ? sql` returning ${this.buildSelection(returning, { isSingleTable: !from })}` : void 0;
|
|
24992
24849
|
const whereSql = where ? sql` where ${where}` : void 0;
|
|
24993
|
-
return sql`${withSql}update ${
|
|
24850
|
+
return sql`${withSql}update ${tableSql} set ${setSql}${fromSql}${joinsSql}${whereSql}${returningSql}`;
|
|
24994
24851
|
}
|
|
24995
24852
|
/**
|
|
24996
24853
|
* Builds selection SQL with provided fields/expressions
|
|
@@ -25042,6 +24899,54 @@ var init_dialect = __esm({
|
|
|
25042
24899
|
});
|
|
25043
24900
|
return sql.join(chunks);
|
|
25044
24901
|
}
|
|
24902
|
+
buildJoins(joins) {
|
|
24903
|
+
if (!joins || joins.length === 0) {
|
|
24904
|
+
return void 0;
|
|
24905
|
+
}
|
|
24906
|
+
const joinsArray = [];
|
|
24907
|
+
for (const [index4, joinMeta] of joins.entries()) {
|
|
24908
|
+
if (index4 === 0) {
|
|
24909
|
+
joinsArray.push(sql` `);
|
|
24910
|
+
}
|
|
24911
|
+
const table4 = joinMeta.table;
|
|
24912
|
+
const lateralSql = joinMeta.lateral ? sql` lateral` : void 0;
|
|
24913
|
+
if (is(table4, PgTable)) {
|
|
24914
|
+
const tableName = table4[PgTable.Symbol.Name];
|
|
24915
|
+
const tableSchema = table4[PgTable.Symbol.Schema];
|
|
24916
|
+
const origTableName = table4[PgTable.Symbol.OriginalName];
|
|
24917
|
+
const alias = tableName === origTableName ? void 0 : joinMeta.alias;
|
|
24918
|
+
joinsArray.push(
|
|
24919
|
+
sql`${sql.raw(joinMeta.joinType)} join${lateralSql} ${tableSchema ? sql`${sql.identifier(tableSchema)}.` : void 0}${sql.identifier(origTableName)}${alias && sql` ${sql.identifier(alias)}`} on ${joinMeta.on}`
|
|
24920
|
+
);
|
|
24921
|
+
} else if (is(table4, View3)) {
|
|
24922
|
+
const viewName = table4[ViewBaseConfig].name;
|
|
24923
|
+
const viewSchema = table4[ViewBaseConfig].schema;
|
|
24924
|
+
const origViewName = table4[ViewBaseConfig].originalName;
|
|
24925
|
+
const alias = viewName === origViewName ? void 0 : joinMeta.alias;
|
|
24926
|
+
joinsArray.push(
|
|
24927
|
+
sql`${sql.raw(joinMeta.joinType)} join${lateralSql} ${viewSchema ? sql`${sql.identifier(viewSchema)}.` : void 0}${sql.identifier(origViewName)}${alias && sql` ${sql.identifier(alias)}`} on ${joinMeta.on}`
|
|
24928
|
+
);
|
|
24929
|
+
} else {
|
|
24930
|
+
joinsArray.push(
|
|
24931
|
+
sql`${sql.raw(joinMeta.joinType)} join${lateralSql} ${table4} on ${joinMeta.on}`
|
|
24932
|
+
);
|
|
24933
|
+
}
|
|
24934
|
+
if (index4 < joins.length - 1) {
|
|
24935
|
+
joinsArray.push(sql` `);
|
|
24936
|
+
}
|
|
24937
|
+
}
|
|
24938
|
+
return sql.join(joinsArray);
|
|
24939
|
+
}
|
|
24940
|
+
buildFromTable(table4) {
|
|
24941
|
+
if (is(table4, Table2) && table4[Table2.Symbol.OriginalName] !== table4[Table2.Symbol.Name]) {
|
|
24942
|
+
let fullName = sql`${sql.identifier(table4[Table2.Symbol.OriginalName])}`;
|
|
24943
|
+
if (table4[Table2.Symbol.Schema]) {
|
|
24944
|
+
fullName = sql`${sql.identifier(table4[Table2.Symbol.Schema])}.${fullName}`;
|
|
24945
|
+
}
|
|
24946
|
+
return sql`${fullName} ${sql.identifier(table4[Table2.Symbol.Name])}`;
|
|
24947
|
+
}
|
|
24948
|
+
return table4;
|
|
24949
|
+
}
|
|
25045
24950
|
buildSelectQuery({
|
|
25046
24951
|
withList,
|
|
25047
24952
|
fields,
|
|
@@ -25076,51 +24981,8 @@ var init_dialect = __esm({
|
|
|
25076
24981
|
distinctSql = distinct === true ? sql` distinct` : sql` distinct on (${sql.join(distinct.on, sql`, `)})`;
|
|
25077
24982
|
}
|
|
25078
24983
|
const selection = this.buildSelection(fieldsList, { isSingleTable });
|
|
25079
|
-
const tableSql = (
|
|
25080
|
-
|
|
25081
|
-
let fullName = sql`${sql.identifier(table4[Table2.Symbol.OriginalName])}`;
|
|
25082
|
-
if (table4[Table2.Symbol.Schema]) {
|
|
25083
|
-
fullName = sql`${sql.identifier(table4[Table2.Symbol.Schema])}.${fullName}`;
|
|
25084
|
-
}
|
|
25085
|
-
return sql`${fullName} ${sql.identifier(table4[Table2.Symbol.Name])}`;
|
|
25086
|
-
}
|
|
25087
|
-
return table4;
|
|
25088
|
-
})();
|
|
25089
|
-
const joinsArray = [];
|
|
25090
|
-
if (joins) {
|
|
25091
|
-
for (const [index4, joinMeta] of joins.entries()) {
|
|
25092
|
-
if (index4 === 0) {
|
|
25093
|
-
joinsArray.push(sql` `);
|
|
25094
|
-
}
|
|
25095
|
-
const table22 = joinMeta.table;
|
|
25096
|
-
const lateralSql = joinMeta.lateral ? sql` lateral` : void 0;
|
|
25097
|
-
if (is(table22, PgTable)) {
|
|
25098
|
-
const tableName = table22[PgTable.Symbol.Name];
|
|
25099
|
-
const tableSchema = table22[PgTable.Symbol.Schema];
|
|
25100
|
-
const origTableName = table22[PgTable.Symbol.OriginalName];
|
|
25101
|
-
const alias = tableName === origTableName ? void 0 : joinMeta.alias;
|
|
25102
|
-
joinsArray.push(
|
|
25103
|
-
sql`${sql.raw(joinMeta.joinType)} join${lateralSql} ${tableSchema ? sql`${sql.identifier(tableSchema)}.` : void 0}${sql.identifier(origTableName)}${alias && sql` ${sql.identifier(alias)}`} on ${joinMeta.on}`
|
|
25104
|
-
);
|
|
25105
|
-
} else if (is(table22, View3)) {
|
|
25106
|
-
const viewName = table22[ViewBaseConfig].name;
|
|
25107
|
-
const viewSchema = table22[ViewBaseConfig].schema;
|
|
25108
|
-
const origViewName = table22[ViewBaseConfig].originalName;
|
|
25109
|
-
const alias = viewName === origViewName ? void 0 : joinMeta.alias;
|
|
25110
|
-
joinsArray.push(
|
|
25111
|
-
sql`${sql.raw(joinMeta.joinType)} join${lateralSql} ${viewSchema ? sql`${sql.identifier(viewSchema)}.` : void 0}${sql.identifier(origViewName)}${alias && sql` ${sql.identifier(alias)}`} on ${joinMeta.on}`
|
|
25112
|
-
);
|
|
25113
|
-
} else {
|
|
25114
|
-
joinsArray.push(
|
|
25115
|
-
sql`${sql.raw(joinMeta.joinType)} join${lateralSql} ${table22} on ${joinMeta.on}`
|
|
25116
|
-
);
|
|
25117
|
-
}
|
|
25118
|
-
if (index4 < joins.length - 1) {
|
|
25119
|
-
joinsArray.push(sql` `);
|
|
25120
|
-
}
|
|
25121
|
-
}
|
|
25122
|
-
}
|
|
25123
|
-
const joinsSql = sql.join(joinsArray);
|
|
24984
|
+
const tableSql = this.buildFromTable(table4);
|
|
24985
|
+
const joinsSql = this.buildJoins(joins);
|
|
25124
24986
|
const whereSql = where ? sql` where ${where}` : void 0;
|
|
25125
24987
|
const havingSql = having ? sql` having ${having}` : void 0;
|
|
25126
24988
|
let orderBySql;
|
|
@@ -25201,43 +25063,54 @@ var init_dialect = __esm({
|
|
|
25201
25063
|
const offsetSql = offset ? sql` offset ${offset}` : void 0;
|
|
25202
25064
|
return sql`${leftChunk}${operatorChunk}${rightChunk}${orderBySql}${limitSql}${offsetSql}`;
|
|
25203
25065
|
}
|
|
25204
|
-
buildInsertQuery({ table: table4, values, onConflict, returning, withList }) {
|
|
25066
|
+
buildInsertQuery({ table: table4, values: valuesOrSelect, onConflict, returning, withList, select }) {
|
|
25205
25067
|
const valuesSqlList = [];
|
|
25206
25068
|
const columns = table4[Table2.Symbol.Columns];
|
|
25207
25069
|
const colEntries = Object.entries(columns).filter(([_2, col]) => !col.shouldDisableInsert());
|
|
25208
25070
|
const insertOrder = colEntries.map(
|
|
25209
25071
|
([, column4]) => sql.identifier(this.casing.getColumnCasing(column4))
|
|
25210
25072
|
);
|
|
25211
|
-
|
|
25212
|
-
const
|
|
25213
|
-
|
|
25214
|
-
|
|
25215
|
-
|
|
25216
|
-
|
|
25217
|
-
|
|
25218
|
-
|
|
25219
|
-
|
|
25220
|
-
|
|
25221
|
-
|
|
25222
|
-
|
|
25223
|
-
|
|
25073
|
+
if (select) {
|
|
25074
|
+
const select2 = valuesOrSelect;
|
|
25075
|
+
if (is(select2, SQL)) {
|
|
25076
|
+
valuesSqlList.push(select2);
|
|
25077
|
+
} else {
|
|
25078
|
+
valuesSqlList.push(select2.getSQL());
|
|
25079
|
+
}
|
|
25080
|
+
} else {
|
|
25081
|
+
const values = valuesOrSelect;
|
|
25082
|
+
valuesSqlList.push(sql.raw("values "));
|
|
25083
|
+
for (const [valueIndex, value] of values.entries()) {
|
|
25084
|
+
const valueList = [];
|
|
25085
|
+
for (const [fieldName, col] of colEntries) {
|
|
25086
|
+
const colValue = value[fieldName];
|
|
25087
|
+
if (colValue === void 0 || is(colValue, Param) && colValue.value === void 0) {
|
|
25088
|
+
if (col.defaultFn !== void 0) {
|
|
25089
|
+
const defaultFnResult = col.defaultFn();
|
|
25090
|
+
const defaultValue = is(defaultFnResult, SQL) ? defaultFnResult : sql.param(defaultFnResult, col);
|
|
25091
|
+
valueList.push(defaultValue);
|
|
25092
|
+
} else if (!col.default && col.onUpdateFn !== void 0) {
|
|
25093
|
+
const onUpdateFnResult = col.onUpdateFn();
|
|
25094
|
+
const newValue = is(onUpdateFnResult, SQL) ? onUpdateFnResult : sql.param(onUpdateFnResult, col);
|
|
25095
|
+
valueList.push(newValue);
|
|
25096
|
+
} else {
|
|
25097
|
+
valueList.push(sql`default`);
|
|
25098
|
+
}
|
|
25224
25099
|
} else {
|
|
25225
|
-
valueList.push(
|
|
25100
|
+
valueList.push(colValue);
|
|
25226
25101
|
}
|
|
25227
|
-
} else {
|
|
25228
|
-
valueList.push(colValue);
|
|
25229
25102
|
}
|
|
25230
|
-
|
|
25231
|
-
|
|
25232
|
-
|
|
25233
|
-
|
|
25103
|
+
valuesSqlList.push(valueList);
|
|
25104
|
+
if (valueIndex < values.length - 1) {
|
|
25105
|
+
valuesSqlList.push(sql`, `);
|
|
25106
|
+
}
|
|
25234
25107
|
}
|
|
25235
25108
|
}
|
|
25236
25109
|
const withSql = this.buildWithCTE(withList);
|
|
25237
25110
|
const valuesSql = sql.join(valuesSqlList);
|
|
25238
25111
|
const returningSql = returning ? sql` returning ${this.buildSelection(returning, { isSingleTable: true })}` : void 0;
|
|
25239
25112
|
const onConflictSql = onConflict ? sql` on conflict ${onConflict}` : void 0;
|
|
25240
|
-
return sql`${withSql}insert into ${table4} ${insertOrder}
|
|
25113
|
+
return sql`${withSql}insert into ${table4} ${insertOrder} ${valuesSql}${onConflictSql}${returningSql}`;
|
|
25241
25114
|
}
|
|
25242
25115
|
buildRefreshMaterializedViewQuery({ view: view4, concurrently, withNoData }) {
|
|
25243
25116
|
const concurrentlySql = concurrently ? sql` concurrently` : void 0;
|
|
@@ -25973,12 +25846,12 @@ var init_dialect = __esm({
|
|
|
25973
25846
|
};
|
|
25974
25847
|
}
|
|
25975
25848
|
};
|
|
25976
|
-
__publicField(PgDialect,
|
|
25849
|
+
__publicField(PgDialect, _a127, "PgDialect");
|
|
25977
25850
|
}
|
|
25978
25851
|
});
|
|
25979
25852
|
|
|
25980
25853
|
// ../drizzle-orm/dist/selection-proxy.js
|
|
25981
|
-
var
|
|
25854
|
+
var _a128, _SelectionProxyHandler, SelectionProxyHandler;
|
|
25982
25855
|
var init_selection_proxy = __esm({
|
|
25983
25856
|
"../drizzle-orm/dist/selection-proxy.js"() {
|
|
25984
25857
|
"use strict";
|
|
@@ -25988,7 +25861,7 @@ var init_selection_proxy = __esm({
|
|
|
25988
25861
|
init_sql();
|
|
25989
25862
|
init_subquery();
|
|
25990
25863
|
init_view_common();
|
|
25991
|
-
|
|
25864
|
+
_a128 = entityKind;
|
|
25992
25865
|
_SelectionProxyHandler = class _SelectionProxyHandler {
|
|
25993
25866
|
constructor(config) {
|
|
25994
25867
|
__publicField(this, "config");
|
|
@@ -26054,25 +25927,25 @@ var init_selection_proxy = __esm({
|
|
|
26054
25927
|
return new Proxy(value, new _SelectionProxyHandler(this.config));
|
|
26055
25928
|
}
|
|
26056
25929
|
};
|
|
26057
|
-
__publicField(_SelectionProxyHandler,
|
|
25930
|
+
__publicField(_SelectionProxyHandler, _a128, "SelectionProxyHandler");
|
|
26058
25931
|
SelectionProxyHandler = _SelectionProxyHandler;
|
|
26059
25932
|
}
|
|
26060
25933
|
});
|
|
26061
25934
|
|
|
26062
25935
|
// ../drizzle-orm/dist/query-builders/query-builder.js
|
|
26063
|
-
var
|
|
25936
|
+
var _a129, TypedQueryBuilder;
|
|
26064
25937
|
var init_query_builder = __esm({
|
|
26065
25938
|
"../drizzle-orm/dist/query-builders/query-builder.js"() {
|
|
26066
25939
|
"use strict";
|
|
26067
25940
|
init_entity();
|
|
26068
|
-
|
|
25941
|
+
_a129 = entityKind;
|
|
26069
25942
|
TypedQueryBuilder = class {
|
|
26070
25943
|
/** @internal */
|
|
26071
25944
|
getSelectedFields() {
|
|
26072
25945
|
return this._.selectedFields;
|
|
26073
25946
|
}
|
|
26074
25947
|
};
|
|
26075
|
-
__publicField(TypedQueryBuilder,
|
|
25948
|
+
__publicField(TypedQueryBuilder, _a129, "TypedQueryBuilder");
|
|
26076
25949
|
}
|
|
26077
25950
|
});
|
|
26078
25951
|
|
|
@@ -26094,7 +25967,7 @@ function createSetOperator(type, isAll) {
|
|
|
26094
25967
|
return leftSelect.addSetOperators(setOperators);
|
|
26095
25968
|
};
|
|
26096
25969
|
}
|
|
26097
|
-
var
|
|
25970
|
+
var _a130, PgSelectBuilder, _a131, _b99, PgSelectQueryBuilderBase, _a132, _b100, PgSelectBase, getPgSetOperators, union, unionAll, intersect, intersectAll, except, exceptAll;
|
|
26098
25971
|
var init_select2 = __esm({
|
|
26099
25972
|
"../drizzle-orm/dist/pg-core/query-builders/select.js"() {
|
|
26100
25973
|
"use strict";
|
|
@@ -26110,7 +25983,7 @@ var init_select2 = __esm({
|
|
|
26110
25983
|
init_utils2();
|
|
26111
25984
|
init_utils2();
|
|
26112
25985
|
init_view_common();
|
|
26113
|
-
|
|
25986
|
+
_a130 = entityKind;
|
|
26114
25987
|
PgSelectBuilder = class {
|
|
26115
25988
|
constructor(config) {
|
|
26116
25989
|
__publicField(this, "fields");
|
|
@@ -26118,6 +25991,7 @@ var init_select2 = __esm({
|
|
|
26118
25991
|
__publicField(this, "dialect");
|
|
26119
25992
|
__publicField(this, "withList", []);
|
|
26120
25993
|
__publicField(this, "distinct");
|
|
25994
|
+
__publicField(this, "authToken");
|
|
26121
25995
|
this.fields = config.fields;
|
|
26122
25996
|
this.session = config.session;
|
|
26123
25997
|
this.dialect = config.dialect;
|
|
@@ -26126,6 +26000,11 @@ var init_select2 = __esm({
|
|
|
26126
26000
|
}
|
|
26127
26001
|
this.distinct = config.distinct;
|
|
26128
26002
|
}
|
|
26003
|
+
/** @internal */
|
|
26004
|
+
setToken(token) {
|
|
26005
|
+
this.authToken = token;
|
|
26006
|
+
return this;
|
|
26007
|
+
}
|
|
26129
26008
|
/**
|
|
26130
26009
|
* Specify the table, subquery, or other target that you're
|
|
26131
26010
|
* building a select query against.
|
|
@@ -26148,7 +26027,7 @@ var init_select2 = __esm({
|
|
|
26148
26027
|
} else {
|
|
26149
26028
|
fields = getTableColumns(source);
|
|
26150
26029
|
}
|
|
26151
|
-
return new PgSelectBase({
|
|
26030
|
+
return this.authToken === void 0 ? new PgSelectBase({
|
|
26152
26031
|
table: source,
|
|
26153
26032
|
fields,
|
|
26154
26033
|
isPartialSelect,
|
|
@@ -26156,11 +26035,19 @@ var init_select2 = __esm({
|
|
|
26156
26035
|
dialect: this.dialect,
|
|
26157
26036
|
withList: this.withList,
|
|
26158
26037
|
distinct: this.distinct
|
|
26159
|
-
})
|
|
26038
|
+
}) : new PgSelectBase({
|
|
26039
|
+
table: source,
|
|
26040
|
+
fields,
|
|
26041
|
+
isPartialSelect,
|
|
26042
|
+
session: this.session,
|
|
26043
|
+
dialect: this.dialect,
|
|
26044
|
+
withList: this.withList,
|
|
26045
|
+
distinct: this.distinct
|
|
26046
|
+
}).setToken(this.authToken);
|
|
26160
26047
|
}
|
|
26161
26048
|
};
|
|
26162
|
-
__publicField(PgSelectBuilder,
|
|
26163
|
-
PgSelectQueryBuilderBase = class extends (
|
|
26049
|
+
__publicField(PgSelectBuilder, _a130, "PgSelectBuilder");
|
|
26050
|
+
PgSelectQueryBuilderBase = class extends (_b99 = TypedQueryBuilder, _a131 = entityKind, _b99) {
|
|
26164
26051
|
constructor({ table: table4, fields, isPartialSelect, session, dialect: dialect4, withList, distinct }) {
|
|
26165
26052
|
super();
|
|
26166
26053
|
__publicField(this, "_");
|
|
@@ -26760,19 +26647,20 @@ var init_select2 = __esm({
|
|
|
26760
26647
|
return this;
|
|
26761
26648
|
}
|
|
26762
26649
|
};
|
|
26763
|
-
__publicField(PgSelectQueryBuilderBase,
|
|
26764
|
-
PgSelectBase = class extends (
|
|
26650
|
+
__publicField(PgSelectQueryBuilderBase, _a131, "PgSelectQueryBuilder");
|
|
26651
|
+
PgSelectBase = class extends (_b100 = PgSelectQueryBuilderBase, _a132 = entityKind, _b100) {
|
|
26765
26652
|
constructor() {
|
|
26766
26653
|
super(...arguments);
|
|
26654
|
+
__publicField(this, "authToken");
|
|
26767
26655
|
__publicField(this, "execute", (placeholderValues) => {
|
|
26768
26656
|
return tracer.startActiveSpan("drizzle.operation", () => {
|
|
26769
|
-
return this._prepare().execute(placeholderValues);
|
|
26657
|
+
return this._prepare().execute(placeholderValues, this.authToken);
|
|
26770
26658
|
});
|
|
26771
26659
|
});
|
|
26772
26660
|
}
|
|
26773
26661
|
/** @internal */
|
|
26774
26662
|
_prepare(name2) {
|
|
26775
|
-
const { session, config, dialect: dialect4, joinsNotNullableMap } = this;
|
|
26663
|
+
const { session, config, dialect: dialect4, joinsNotNullableMap, authToken } = this;
|
|
26776
26664
|
if (!session) {
|
|
26777
26665
|
throw new Error("Cannot execute a query on a query builder. Please use a database instance instead.");
|
|
26778
26666
|
}
|
|
@@ -26780,7 +26668,7 @@ var init_select2 = __esm({
|
|
|
26780
26668
|
const fieldsList = orderSelectedFields(config.fields);
|
|
26781
26669
|
const query = session.prepareQuery(dialect4.sqlToQuery(this.getSQL()), fieldsList, name2, true);
|
|
26782
26670
|
query.joinsNotNullableMap = joinsNotNullableMap;
|
|
26783
|
-
return query;
|
|
26671
|
+
return authToken === void 0 ? query : query.setToken(authToken);
|
|
26784
26672
|
});
|
|
26785
26673
|
}
|
|
26786
26674
|
/**
|
|
@@ -26793,8 +26681,13 @@ var init_select2 = __esm({
|
|
|
26793
26681
|
prepare(name2) {
|
|
26794
26682
|
return this._prepare(name2);
|
|
26795
26683
|
}
|
|
26684
|
+
/** @internal */
|
|
26685
|
+
setToken(token) {
|
|
26686
|
+
this.authToken = token;
|
|
26687
|
+
return this;
|
|
26688
|
+
}
|
|
26796
26689
|
};
|
|
26797
|
-
__publicField(PgSelectBase,
|
|
26690
|
+
__publicField(PgSelectBase, _a132, "PgSelect");
|
|
26798
26691
|
applyMixins(PgSelectBase, [QueryPromise]);
|
|
26799
26692
|
getPgSetOperators = () => ({
|
|
26800
26693
|
union,
|
|
@@ -26814,7 +26707,7 @@ var init_select2 = __esm({
|
|
|
26814
26707
|
});
|
|
26815
26708
|
|
|
26816
26709
|
// ../drizzle-orm/dist/pg-core/query-builders/query-builder.js
|
|
26817
|
-
var
|
|
26710
|
+
var _a133, QueryBuilder;
|
|
26818
26711
|
var init_query_builder2 = __esm({
|
|
26819
26712
|
"../drizzle-orm/dist/pg-core/query-builders/query-builder.js"() {
|
|
26820
26713
|
"use strict";
|
|
@@ -26823,7 +26716,7 @@ var init_query_builder2 = __esm({
|
|
|
26823
26716
|
init_selection_proxy();
|
|
26824
26717
|
init_subquery();
|
|
26825
26718
|
init_select2();
|
|
26826
|
-
|
|
26719
|
+
_a133 = entityKind;
|
|
26827
26720
|
QueryBuilder = class {
|
|
26828
26721
|
constructor(dialect4) {
|
|
26829
26722
|
__publicField(this, "dialect");
|
|
@@ -26904,30 +26797,211 @@ var init_query_builder2 = __esm({
|
|
|
26904
26797
|
return this.dialect;
|
|
26905
26798
|
}
|
|
26906
26799
|
};
|
|
26907
|
-
__publicField(QueryBuilder,
|
|
26800
|
+
__publicField(QueryBuilder, _a133, "PgQueryBuilder");
|
|
26908
26801
|
}
|
|
26909
26802
|
});
|
|
26910
26803
|
|
|
26911
|
-
// ../drizzle-orm/dist/pg-core/query-builders/
|
|
26912
|
-
var
|
|
26913
|
-
var
|
|
26914
|
-
"../drizzle-orm/dist/pg-core/query-builders/
|
|
26804
|
+
// ../drizzle-orm/dist/pg-core/query-builders/insert.js
|
|
26805
|
+
var _a134, PgInsertBuilder, _a135, _b101, PgInsertBase;
|
|
26806
|
+
var init_insert = __esm({
|
|
26807
|
+
"../drizzle-orm/dist/pg-core/query-builders/insert.js"() {
|
|
26915
26808
|
"use strict";
|
|
26916
26809
|
init_entity();
|
|
26917
26810
|
init_query_promise();
|
|
26811
|
+
init_sql();
|
|
26812
|
+
init_table();
|
|
26918
26813
|
init_tracing();
|
|
26919
|
-
|
|
26920
|
-
|
|
26921
|
-
|
|
26922
|
-
|
|
26923
|
-
|
|
26924
|
-
|
|
26925
|
-
|
|
26926
|
-
});
|
|
26927
|
-
});
|
|
26814
|
+
init_utils2();
|
|
26815
|
+
init_query_builder2();
|
|
26816
|
+
_a134 = entityKind;
|
|
26817
|
+
PgInsertBuilder = class {
|
|
26818
|
+
constructor(table4, session, dialect4, withList) {
|
|
26819
|
+
__publicField(this, "authToken");
|
|
26820
|
+
this.table = table4;
|
|
26928
26821
|
this.session = session;
|
|
26929
26822
|
this.dialect = dialect4;
|
|
26930
|
-
this.
|
|
26823
|
+
this.withList = withList;
|
|
26824
|
+
}
|
|
26825
|
+
/** @internal */
|
|
26826
|
+
setToken(token) {
|
|
26827
|
+
this.authToken = token;
|
|
26828
|
+
return this;
|
|
26829
|
+
}
|
|
26830
|
+
values(values) {
|
|
26831
|
+
values = Array.isArray(values) ? values : [values];
|
|
26832
|
+
if (values.length === 0) {
|
|
26833
|
+
throw new Error("values() must be called with at least one value");
|
|
26834
|
+
}
|
|
26835
|
+
const mappedValues = values.map((entry) => {
|
|
26836
|
+
const result = {};
|
|
26837
|
+
const cols = this.table[Table2.Symbol.Columns];
|
|
26838
|
+
for (const colKey of Object.keys(entry)) {
|
|
26839
|
+
const colValue = entry[colKey];
|
|
26840
|
+
result[colKey] = is(colValue, SQL) ? colValue : new Param(colValue, cols[colKey]);
|
|
26841
|
+
}
|
|
26842
|
+
return result;
|
|
26843
|
+
});
|
|
26844
|
+
return this.authToken === void 0 ? new PgInsertBase(this.table, mappedValues, this.session, this.dialect, this.withList) : new PgInsertBase(this.table, mappedValues, this.session, this.dialect, this.withList).setToken(
|
|
26845
|
+
this.authToken
|
|
26846
|
+
);
|
|
26847
|
+
}
|
|
26848
|
+
select(selectQuery) {
|
|
26849
|
+
const select = typeof selectQuery === "function" ? selectQuery(new QueryBuilder()) : selectQuery;
|
|
26850
|
+
if (!is(select, SQL) && !haveSameKeys(this.table[Columns], select._.selectedFields)) {
|
|
26851
|
+
throw new Error(
|
|
26852
|
+
"Insert select error: selected fields are not the same or are in a different order compared to the table definition"
|
|
26853
|
+
);
|
|
26854
|
+
}
|
|
26855
|
+
return new PgInsertBase(this.table, select, this.session, this.dialect, this.withList, true);
|
|
26856
|
+
}
|
|
26857
|
+
};
|
|
26858
|
+
__publicField(PgInsertBuilder, _a134, "PgInsertBuilder");
|
|
26859
|
+
PgInsertBase = class extends (_b101 = QueryPromise, _a135 = entityKind, _b101) {
|
|
26860
|
+
constructor(table4, values, session, dialect4, withList, select) {
|
|
26861
|
+
super();
|
|
26862
|
+
__publicField(this, "config");
|
|
26863
|
+
__publicField(this, "authToken");
|
|
26864
|
+
__publicField(this, "execute", (placeholderValues) => {
|
|
26865
|
+
return tracer.startActiveSpan("drizzle.operation", () => {
|
|
26866
|
+
return this._prepare().execute(placeholderValues, this.authToken);
|
|
26867
|
+
});
|
|
26868
|
+
});
|
|
26869
|
+
this.session = session;
|
|
26870
|
+
this.dialect = dialect4;
|
|
26871
|
+
this.config = { table: table4, values, withList, select };
|
|
26872
|
+
}
|
|
26873
|
+
returning(fields = this.config.table[Table2.Symbol.Columns]) {
|
|
26874
|
+
this.config.returning = orderSelectedFields(fields);
|
|
26875
|
+
return this;
|
|
26876
|
+
}
|
|
26877
|
+
/**
|
|
26878
|
+
* Adds an `on conflict do nothing` clause to the query.
|
|
26879
|
+
*
|
|
26880
|
+
* Calling this method simply avoids inserting a row as its alternative action.
|
|
26881
|
+
*
|
|
26882
|
+
* See docs: {@link https://orm.drizzle.team/docs/insert#on-conflict-do-nothing}
|
|
26883
|
+
*
|
|
26884
|
+
* @param config The `target` and `where` clauses.
|
|
26885
|
+
*
|
|
26886
|
+
* @example
|
|
26887
|
+
* ```ts
|
|
26888
|
+
* // Insert one row and cancel the insert if there's a conflict
|
|
26889
|
+
* await db.insert(cars)
|
|
26890
|
+
* .values({ id: 1, brand: 'BMW' })
|
|
26891
|
+
* .onConflictDoNothing();
|
|
26892
|
+
*
|
|
26893
|
+
* // Explicitly specify conflict target
|
|
26894
|
+
* await db.insert(cars)
|
|
26895
|
+
* .values({ id: 1, brand: 'BMW' })
|
|
26896
|
+
* .onConflictDoNothing({ target: cars.id });
|
|
26897
|
+
* ```
|
|
26898
|
+
*/
|
|
26899
|
+
onConflictDoNothing(config = {}) {
|
|
26900
|
+
if (config.target === void 0) {
|
|
26901
|
+
this.config.onConflict = sql`do nothing`;
|
|
26902
|
+
} else {
|
|
26903
|
+
let targetColumn = "";
|
|
26904
|
+
targetColumn = Array.isArray(config.target) ? config.target.map((it) => this.dialect.escapeName(this.dialect.casing.getColumnCasing(it))).join(",") : this.dialect.escapeName(this.dialect.casing.getColumnCasing(config.target));
|
|
26905
|
+
const whereSql = config.where ? sql` where ${config.where}` : void 0;
|
|
26906
|
+
this.config.onConflict = sql`(${sql.raw(targetColumn)})${whereSql} do nothing`;
|
|
26907
|
+
}
|
|
26908
|
+
return this;
|
|
26909
|
+
}
|
|
26910
|
+
/**
|
|
26911
|
+
* Adds an `on conflict do update` clause to the query.
|
|
26912
|
+
*
|
|
26913
|
+
* Calling this method will update the existing row that conflicts with the row proposed for insertion as its alternative action.
|
|
26914
|
+
*
|
|
26915
|
+
* See docs: {@link https://orm.drizzle.team/docs/insert#upserts-and-conflicts}
|
|
26916
|
+
*
|
|
26917
|
+
* @param config The `target`, `set` and `where` clauses.
|
|
26918
|
+
*
|
|
26919
|
+
* @example
|
|
26920
|
+
* ```ts
|
|
26921
|
+
* // Update the row if there's a conflict
|
|
26922
|
+
* await db.insert(cars)
|
|
26923
|
+
* .values({ id: 1, brand: 'BMW' })
|
|
26924
|
+
* .onConflictDoUpdate({
|
|
26925
|
+
* target: cars.id,
|
|
26926
|
+
* set: { brand: 'Porsche' }
|
|
26927
|
+
* });
|
|
26928
|
+
*
|
|
26929
|
+
* // Upsert with 'where' clause
|
|
26930
|
+
* await db.insert(cars)
|
|
26931
|
+
* .values({ id: 1, brand: 'BMW' })
|
|
26932
|
+
* .onConflictDoUpdate({
|
|
26933
|
+
* target: cars.id,
|
|
26934
|
+
* set: { brand: 'newBMW' },
|
|
26935
|
+
* targetWhere: sql`${cars.createdAt} > '2023-01-01'::date`,
|
|
26936
|
+
* });
|
|
26937
|
+
* ```
|
|
26938
|
+
*/
|
|
26939
|
+
onConflictDoUpdate(config) {
|
|
26940
|
+
if (config.where && (config.targetWhere || config.setWhere)) {
|
|
26941
|
+
throw new Error(
|
|
26942
|
+
'You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.'
|
|
26943
|
+
);
|
|
26944
|
+
}
|
|
26945
|
+
const whereSql = config.where ? sql` where ${config.where}` : void 0;
|
|
26946
|
+
const targetWhereSql = config.targetWhere ? sql` where ${config.targetWhere}` : void 0;
|
|
26947
|
+
const setWhereSql = config.setWhere ? sql` where ${config.setWhere}` : void 0;
|
|
26948
|
+
const setSql = this.dialect.buildUpdateSet(this.config.table, mapUpdateSet(this.config.table, config.set));
|
|
26949
|
+
let targetColumn = "";
|
|
26950
|
+
targetColumn = Array.isArray(config.target) ? config.target.map((it) => this.dialect.escapeName(this.dialect.casing.getColumnCasing(it))).join(",") : this.dialect.escapeName(this.dialect.casing.getColumnCasing(config.target));
|
|
26951
|
+
this.config.onConflict = sql`(${sql.raw(targetColumn)})${targetWhereSql} do update set ${setSql}${whereSql}${setWhereSql}`;
|
|
26952
|
+
return this;
|
|
26953
|
+
}
|
|
26954
|
+
/** @internal */
|
|
26955
|
+
getSQL() {
|
|
26956
|
+
return this.dialect.buildInsertQuery(this.config);
|
|
26957
|
+
}
|
|
26958
|
+
toSQL() {
|
|
26959
|
+
const { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());
|
|
26960
|
+
return rest;
|
|
26961
|
+
}
|
|
26962
|
+
/** @internal */
|
|
26963
|
+
_prepare(name2) {
|
|
26964
|
+
return tracer.startActiveSpan("drizzle.prepareQuery", () => {
|
|
26965
|
+
return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()), this.config.returning, name2, true);
|
|
26966
|
+
});
|
|
26967
|
+
}
|
|
26968
|
+
prepare(name2) {
|
|
26969
|
+
return this._prepare(name2);
|
|
26970
|
+
}
|
|
26971
|
+
/** @internal */
|
|
26972
|
+
setToken(token) {
|
|
26973
|
+
this.authToken = token;
|
|
26974
|
+
return this;
|
|
26975
|
+
}
|
|
26976
|
+
$dynamic() {
|
|
26977
|
+
return this;
|
|
26978
|
+
}
|
|
26979
|
+
};
|
|
26980
|
+
__publicField(PgInsertBase, _a135, "PgInsert");
|
|
26981
|
+
}
|
|
26982
|
+
});
|
|
26983
|
+
|
|
26984
|
+
// ../drizzle-orm/dist/pg-core/query-builders/refresh-materialized-view.js
|
|
26985
|
+
var _a136, _b102, PgRefreshMaterializedView;
|
|
26986
|
+
var init_refresh_materialized_view = __esm({
|
|
26987
|
+
"../drizzle-orm/dist/pg-core/query-builders/refresh-materialized-view.js"() {
|
|
26988
|
+
"use strict";
|
|
26989
|
+
init_entity();
|
|
26990
|
+
init_query_promise();
|
|
26991
|
+
init_tracing();
|
|
26992
|
+
PgRefreshMaterializedView = class extends (_b102 = QueryPromise, _a136 = entityKind, _b102) {
|
|
26993
|
+
constructor(view4, session, dialect4) {
|
|
26994
|
+
super();
|
|
26995
|
+
__publicField(this, "config");
|
|
26996
|
+
__publicField(this, "authToken");
|
|
26997
|
+
__publicField(this, "execute", (placeholderValues) => {
|
|
26998
|
+
return tracer.startActiveSpan("drizzle.operation", () => {
|
|
26999
|
+
return this._prepare().execute(placeholderValues, this.authToken);
|
|
27000
|
+
});
|
|
27001
|
+
});
|
|
27002
|
+
this.session = session;
|
|
27003
|
+
this.dialect = dialect4;
|
|
27004
|
+
this.config = { view: view4 };
|
|
26931
27005
|
}
|
|
26932
27006
|
concurrently() {
|
|
26933
27007
|
if (this.config.withNoData !== void 0) {
|
|
@@ -26960,6 +27034,11 @@ var init_refresh_materialized_view = __esm({
|
|
|
26960
27034
|
prepare(name2) {
|
|
26961
27035
|
return this._prepare(name2);
|
|
26962
27036
|
}
|
|
27037
|
+
/** @internal */
|
|
27038
|
+
setToken(token) {
|
|
27039
|
+
this.authToken = token;
|
|
27040
|
+
return this;
|
|
27041
|
+
}
|
|
26963
27042
|
};
|
|
26964
27043
|
__publicField(PgRefreshMaterializedView, _a136, "PgRefreshMaterializedView");
|
|
26965
27044
|
}
|
|
@@ -26978,25 +27057,41 @@ var init_update = __esm({
|
|
|
26978
27057
|
"../drizzle-orm/dist/pg-core/query-builders/update.js"() {
|
|
26979
27058
|
"use strict";
|
|
26980
27059
|
init_entity();
|
|
27060
|
+
init_table2();
|
|
26981
27061
|
init_query_promise();
|
|
27062
|
+
init_selection_proxy();
|
|
27063
|
+
init_sql();
|
|
27064
|
+
init_subquery();
|
|
26982
27065
|
init_table();
|
|
26983
27066
|
init_utils2();
|
|
27067
|
+
init_view_common();
|
|
26984
27068
|
_a137 = entityKind;
|
|
26985
27069
|
PgUpdateBuilder = class {
|
|
26986
27070
|
constructor(table4, session, dialect4, withList) {
|
|
27071
|
+
__publicField(this, "authToken");
|
|
26987
27072
|
this.table = table4;
|
|
26988
27073
|
this.session = session;
|
|
26989
27074
|
this.dialect = dialect4;
|
|
26990
27075
|
this.withList = withList;
|
|
26991
27076
|
}
|
|
27077
|
+
setToken(token) {
|
|
27078
|
+
this.authToken = token;
|
|
27079
|
+
return this;
|
|
27080
|
+
}
|
|
26992
27081
|
set(values) {
|
|
26993
|
-
return new PgUpdateBase(
|
|
27082
|
+
return this.authToken === void 0 ? new PgUpdateBase(
|
|
26994
27083
|
this.table,
|
|
26995
27084
|
mapUpdateSet(this.table, values),
|
|
26996
27085
|
this.session,
|
|
26997
27086
|
this.dialect,
|
|
26998
27087
|
this.withList
|
|
26999
|
-
)
|
|
27088
|
+
) : new PgUpdateBase(
|
|
27089
|
+
this.table,
|
|
27090
|
+
mapUpdateSet(this.table, values),
|
|
27091
|
+
this.session,
|
|
27092
|
+
this.dialect,
|
|
27093
|
+
this.withList
|
|
27094
|
+
).setToken(this.authToken);
|
|
27000
27095
|
}
|
|
27001
27096
|
};
|
|
27002
27097
|
__publicField(PgUpdateBuilder, _a137, "PgUpdateBuilder");
|
|
@@ -27004,12 +27099,86 @@ var init_update = __esm({
|
|
|
27004
27099
|
constructor(table4, set, session, dialect4, withList) {
|
|
27005
27100
|
super();
|
|
27006
27101
|
__publicField(this, "config");
|
|
27102
|
+
__publicField(this, "tableName");
|
|
27103
|
+
__publicField(this, "joinsNotNullableMap");
|
|
27104
|
+
__publicField(this, "leftJoin", this.createJoin("left"));
|
|
27105
|
+
__publicField(this, "rightJoin", this.createJoin("right"));
|
|
27106
|
+
__publicField(this, "innerJoin", this.createJoin("inner"));
|
|
27107
|
+
__publicField(this, "fullJoin", this.createJoin("full"));
|
|
27108
|
+
__publicField(this, "authToken");
|
|
27007
27109
|
__publicField(this, "execute", (placeholderValues) => {
|
|
27008
|
-
return this._prepare().execute(placeholderValues);
|
|
27110
|
+
return this._prepare().execute(placeholderValues, this.authToken);
|
|
27009
27111
|
});
|
|
27010
27112
|
this.session = session;
|
|
27011
27113
|
this.dialect = dialect4;
|
|
27012
|
-
this.config = { set, table: table4, withList };
|
|
27114
|
+
this.config = { set, table: table4, withList, joins: [] };
|
|
27115
|
+
this.tableName = getTableLikeName(table4);
|
|
27116
|
+
this.joinsNotNullableMap = typeof this.tableName === "string" ? { [this.tableName]: true } : {};
|
|
27117
|
+
}
|
|
27118
|
+
from(source) {
|
|
27119
|
+
const tableName = getTableLikeName(source);
|
|
27120
|
+
if (typeof tableName === "string") {
|
|
27121
|
+
this.joinsNotNullableMap[tableName] = true;
|
|
27122
|
+
}
|
|
27123
|
+
this.config.from = source;
|
|
27124
|
+
return this;
|
|
27125
|
+
}
|
|
27126
|
+
getTableLikeFields(table4) {
|
|
27127
|
+
if (is(table4, PgTable)) {
|
|
27128
|
+
return table4[Table2.Symbol.Columns];
|
|
27129
|
+
} else if (is(table4, Subquery)) {
|
|
27130
|
+
return table4._.selectedFields;
|
|
27131
|
+
}
|
|
27132
|
+
return table4[ViewBaseConfig].selectedFields;
|
|
27133
|
+
}
|
|
27134
|
+
createJoin(joinType) {
|
|
27135
|
+
return (table4, on) => {
|
|
27136
|
+
const tableName = getTableLikeName(table4);
|
|
27137
|
+
if (typeof tableName === "string" && this.config.joins.some((join) => join.alias === tableName)) {
|
|
27138
|
+
throw new Error(`Alias "${tableName}" is already used in this query`);
|
|
27139
|
+
}
|
|
27140
|
+
if (typeof on === "function") {
|
|
27141
|
+
const from = this.config.from && !is(this.config.from, SQL) ? this.getTableLikeFields(this.config.from) : void 0;
|
|
27142
|
+
on = on(
|
|
27143
|
+
new Proxy(
|
|
27144
|
+
this.config.table[Table2.Symbol.Columns],
|
|
27145
|
+
new SelectionProxyHandler({ sqlAliasedBehavior: "sql", sqlBehavior: "sql" })
|
|
27146
|
+
),
|
|
27147
|
+
from && new Proxy(
|
|
27148
|
+
from,
|
|
27149
|
+
new SelectionProxyHandler({ sqlAliasedBehavior: "sql", sqlBehavior: "sql" })
|
|
27150
|
+
)
|
|
27151
|
+
);
|
|
27152
|
+
}
|
|
27153
|
+
this.config.joins.push({ on, table: table4, joinType, alias: tableName });
|
|
27154
|
+
if (typeof tableName === "string") {
|
|
27155
|
+
switch (joinType) {
|
|
27156
|
+
case "left": {
|
|
27157
|
+
this.joinsNotNullableMap[tableName] = false;
|
|
27158
|
+
break;
|
|
27159
|
+
}
|
|
27160
|
+
case "right": {
|
|
27161
|
+
this.joinsNotNullableMap = Object.fromEntries(
|
|
27162
|
+
Object.entries(this.joinsNotNullableMap).map(([key]) => [key, false])
|
|
27163
|
+
);
|
|
27164
|
+
this.joinsNotNullableMap[tableName] = true;
|
|
27165
|
+
break;
|
|
27166
|
+
}
|
|
27167
|
+
case "inner": {
|
|
27168
|
+
this.joinsNotNullableMap[tableName] = true;
|
|
27169
|
+
break;
|
|
27170
|
+
}
|
|
27171
|
+
case "full": {
|
|
27172
|
+
this.joinsNotNullableMap = Object.fromEntries(
|
|
27173
|
+
Object.entries(this.joinsNotNullableMap).map(([key]) => [key, false])
|
|
27174
|
+
);
|
|
27175
|
+
this.joinsNotNullableMap[tableName] = false;
|
|
27176
|
+
break;
|
|
27177
|
+
}
|
|
27178
|
+
}
|
|
27179
|
+
}
|
|
27180
|
+
return this;
|
|
27181
|
+
};
|
|
27013
27182
|
}
|
|
27014
27183
|
/**
|
|
27015
27184
|
* Adds a 'where' clause to the query.
|
|
@@ -27048,7 +27217,24 @@ var init_update = __esm({
|
|
|
27048
27217
|
this.config.where = where;
|
|
27049
27218
|
return this;
|
|
27050
27219
|
}
|
|
27051
|
-
returning(fields
|
|
27220
|
+
returning(fields) {
|
|
27221
|
+
if (!fields) {
|
|
27222
|
+
fields = Object.assign({}, this.config.table[Table2.Symbol.Columns]);
|
|
27223
|
+
if (this.config.from) {
|
|
27224
|
+
const tableName = getTableLikeName(this.config.from);
|
|
27225
|
+
if (typeof tableName === "string" && this.config.from && !is(this.config.from, SQL)) {
|
|
27226
|
+
const fromFields = this.getTableLikeFields(this.config.from);
|
|
27227
|
+
fields[tableName] = fromFields;
|
|
27228
|
+
}
|
|
27229
|
+
for (const join of this.config.joins) {
|
|
27230
|
+
const tableName2 = getTableLikeName(join.table);
|
|
27231
|
+
if (typeof tableName2 === "string" && !is(join.table, SQL)) {
|
|
27232
|
+
const fromFields = this.getTableLikeFields(join.table);
|
|
27233
|
+
fields[tableName2] = fromFields;
|
|
27234
|
+
}
|
|
27235
|
+
}
|
|
27236
|
+
}
|
|
27237
|
+
}
|
|
27052
27238
|
this.config.returning = orderSelectedFields(fields);
|
|
27053
27239
|
return this;
|
|
27054
27240
|
}
|
|
@@ -27062,11 +27248,18 @@ var init_update = __esm({
|
|
|
27062
27248
|
}
|
|
27063
27249
|
/** @internal */
|
|
27064
27250
|
_prepare(name2) {
|
|
27065
|
-
|
|
27251
|
+
const query = this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()), this.config.returning, name2, true);
|
|
27252
|
+
query.joinsNotNullableMap = this.joinsNotNullableMap;
|
|
27253
|
+
return query;
|
|
27066
27254
|
}
|
|
27067
27255
|
prepare(name2) {
|
|
27068
27256
|
return this._prepare(name2);
|
|
27069
27257
|
}
|
|
27258
|
+
/** @internal */
|
|
27259
|
+
setToken(token) {
|
|
27260
|
+
this.authToken = token;
|
|
27261
|
+
return this;
|
|
27262
|
+
}
|
|
27070
27263
|
$dynamic() {
|
|
27071
27264
|
return this;
|
|
27072
27265
|
}
|
|
@@ -27100,6 +27293,7 @@ var init_count = __esm({
|
|
|
27100
27293
|
constructor(params) {
|
|
27101
27294
|
super(_PgCountBuilder.buildEmbeddedCount(params.source, params.filters).queryChunks);
|
|
27102
27295
|
__publicField(this, "sql");
|
|
27296
|
+
__publicField(this, "token");
|
|
27103
27297
|
__publicField(this, _a139, "PgCountBuilder");
|
|
27104
27298
|
__publicField(this, "session");
|
|
27105
27299
|
this.params = params;
|
|
@@ -27116,8 +27310,12 @@ var init_count = __esm({
|
|
|
27116
27310
|
static buildCount(source, filters) {
|
|
27117
27311
|
return sql`select count(*) as count from ${source}${sql.raw(" where ").if(filters)}${filters};`;
|
|
27118
27312
|
}
|
|
27313
|
+
/** @intrnal */
|
|
27314
|
+
setToken(token) {
|
|
27315
|
+
this.token = token;
|
|
27316
|
+
}
|
|
27119
27317
|
then(onfulfilled, onrejected) {
|
|
27120
|
-
return Promise.resolve(this.session.count(this.sql)).then(
|
|
27318
|
+
return Promise.resolve(this.session.count(this.sql, this.token)).then(
|
|
27121
27319
|
onfulfilled,
|
|
27122
27320
|
onrejected
|
|
27123
27321
|
);
|
|
@@ -27194,6 +27392,7 @@ var init_query = __esm({
|
|
|
27194
27392
|
PgRelationalQuery = class extends (_b105 = QueryPromise, _a141 = entityKind, _b105) {
|
|
27195
27393
|
constructor(fullSchema, schema4, tableNamesMap, table4, tableConfig, dialect4, session, config, mode) {
|
|
27196
27394
|
super();
|
|
27395
|
+
__publicField(this, "authToken");
|
|
27197
27396
|
this.fullSchema = fullSchema;
|
|
27198
27397
|
this.schema = schema4;
|
|
27199
27398
|
this.tableNamesMap = tableNamesMap;
|
|
@@ -27251,9 +27450,14 @@ var init_query = __esm({
|
|
|
27251
27450
|
toSQL() {
|
|
27252
27451
|
return this._toSQL().builtQuery;
|
|
27253
27452
|
}
|
|
27453
|
+
/** @internal */
|
|
27454
|
+
setToken(token) {
|
|
27455
|
+
this.authToken = token;
|
|
27456
|
+
return this;
|
|
27457
|
+
}
|
|
27254
27458
|
execute() {
|
|
27255
27459
|
return tracer.startActiveSpan("drizzle.operation", () => {
|
|
27256
|
-
return this._prepare().execute();
|
|
27460
|
+
return this._prepare().execute(void 0, this.authToken);
|
|
27257
27461
|
});
|
|
27258
27462
|
}
|
|
27259
27463
|
};
|
|
@@ -27316,6 +27520,7 @@ var init_db = __esm({
|
|
|
27316
27520
|
PgDatabase = class {
|
|
27317
27521
|
constructor(dialect4, session, schema4) {
|
|
27318
27522
|
__publicField(this, "query");
|
|
27523
|
+
__publicField(this, "authToken");
|
|
27319
27524
|
this.dialect = dialect4;
|
|
27320
27525
|
this.session = session;
|
|
27321
27526
|
this._ = schema4 ? {
|
|
@@ -27571,7 +27776,7 @@ var init_db = __esm({
|
|
|
27571
27776
|
false
|
|
27572
27777
|
);
|
|
27573
27778
|
return new PgRaw(
|
|
27574
|
-
() => prepared.execute(),
|
|
27779
|
+
() => prepared.execute(void 0, this.authToken),
|
|
27575
27780
|
sequel,
|
|
27576
27781
|
builtQuery,
|
|
27577
27782
|
(result) => prepared.mapResult(result, true)
|
|
@@ -28116,6 +28321,7 @@ var init_session = __esm({
|
|
|
28116
28321
|
_a159 = entityKind;
|
|
28117
28322
|
PgPreparedQuery = class {
|
|
28118
28323
|
constructor(query) {
|
|
28324
|
+
__publicField(this, "authToken");
|
|
28119
28325
|
/** @internal */
|
|
28120
28326
|
__publicField(this, "joinsNotNullableMap");
|
|
28121
28327
|
this.query = query;
|
|
@@ -28126,6 +28332,11 @@ var init_session = __esm({
|
|
|
28126
28332
|
mapResult(response, _isFromBatch) {
|
|
28127
28333
|
return response;
|
|
28128
28334
|
}
|
|
28335
|
+
/** @internal */
|
|
28336
|
+
setToken(token) {
|
|
28337
|
+
this.authToken = token;
|
|
28338
|
+
return this;
|
|
28339
|
+
}
|
|
28129
28340
|
};
|
|
28130
28341
|
__publicField(PgPreparedQuery, _a159, "PgPreparedQuery");
|
|
28131
28342
|
_a160 = entityKind;
|
|
@@ -28133,7 +28344,8 @@ var init_session = __esm({
|
|
|
28133
28344
|
constructor(dialect4) {
|
|
28134
28345
|
this.dialect = dialect4;
|
|
28135
28346
|
}
|
|
28136
|
-
|
|
28347
|
+
/** @internal */
|
|
28348
|
+
execute(query, token) {
|
|
28137
28349
|
return tracer.startActiveSpan("drizzle.operation", () => {
|
|
28138
28350
|
const prepared = tracer.startActiveSpan("drizzle.prepareQuery", () => {
|
|
28139
28351
|
return this.prepareQuery(
|
|
@@ -28143,7 +28355,7 @@ var init_session = __esm({
|
|
|
28143
28355
|
false
|
|
28144
28356
|
);
|
|
28145
28357
|
});
|
|
28146
|
-
return prepared.execute();
|
|
28358
|
+
return prepared.setToken(token).execute(void 0, token);
|
|
28147
28359
|
});
|
|
28148
28360
|
}
|
|
28149
28361
|
all(query) {
|
|
@@ -28154,8 +28366,9 @@ var init_session = __esm({
|
|
|
28154
28366
|
false
|
|
28155
28367
|
).all();
|
|
28156
28368
|
}
|
|
28157
|
-
|
|
28158
|
-
|
|
28369
|
+
/** @internal */
|
|
28370
|
+
async count(sql2, token) {
|
|
28371
|
+
const res = await this.execute(sql2, token);
|
|
28159
28372
|
return Number(
|
|
28160
28373
|
res[0]["count"]
|
|
28161
28374
|
);
|
|
@@ -30812,200 +31025,32 @@ var init_delete2 = __esm({
|
|
|
30812
31025
|
prepare() {
|
|
30813
31026
|
return this._prepare(false);
|
|
30814
31027
|
}
|
|
30815
|
-
async execute(placeholderValues) {
|
|
30816
|
-
return this._prepare().execute(placeholderValues);
|
|
30817
|
-
}
|
|
30818
|
-
$dynamic() {
|
|
30819
|
-
return this;
|
|
30820
|
-
}
|
|
30821
|
-
};
|
|
30822
|
-
__publicField(SQLiteDeleteBase, _a196, "SQLiteDelete");
|
|
30823
|
-
}
|
|
30824
|
-
});
|
|
30825
|
-
|
|
30826
|
-
// ../drizzle-orm/dist/sqlite-core/query-builders/insert.js
|
|
30827
|
-
var _a197, SQLiteInsertBuilder, _a198, _b142, SQLiteInsertBase;
|
|
30828
|
-
var init_insert2 = __esm({
|
|
30829
|
-
"../drizzle-orm/dist/sqlite-core/query-builders/insert.js"() {
|
|
30830
|
-
"use strict";
|
|
30831
|
-
init_entity();
|
|
30832
|
-
init_query_promise();
|
|
30833
|
-
init_sql();
|
|
30834
|
-
init_table3();
|
|
30835
|
-
init_table();
|
|
30836
|
-
init_utils2();
|
|
30837
|
-
_a197 = entityKind;
|
|
30838
|
-
SQLiteInsertBuilder = class {
|
|
30839
|
-
constructor(table4, session, dialect4, withList) {
|
|
30840
|
-
this.table = table4;
|
|
30841
|
-
this.session = session;
|
|
30842
|
-
this.dialect = dialect4;
|
|
30843
|
-
this.withList = withList;
|
|
30844
|
-
}
|
|
30845
|
-
values(values) {
|
|
30846
|
-
values = Array.isArray(values) ? values : [values];
|
|
30847
|
-
if (values.length === 0) {
|
|
30848
|
-
throw new Error("values() must be called with at least one value");
|
|
30849
|
-
}
|
|
30850
|
-
const mappedValues = values.map((entry) => {
|
|
30851
|
-
const result = {};
|
|
30852
|
-
const cols = this.table[Table2.Symbol.Columns];
|
|
30853
|
-
for (const colKey of Object.keys(entry)) {
|
|
30854
|
-
const colValue = entry[colKey];
|
|
30855
|
-
result[colKey] = is(colValue, SQL) ? colValue : new Param(colValue, cols[colKey]);
|
|
30856
|
-
}
|
|
30857
|
-
return result;
|
|
30858
|
-
});
|
|
30859
|
-
return new SQLiteInsertBase(this.table, mappedValues, this.session, this.dialect, this.withList);
|
|
30860
|
-
}
|
|
30861
|
-
};
|
|
30862
|
-
__publicField(SQLiteInsertBuilder, _a197, "SQLiteInsertBuilder");
|
|
30863
|
-
SQLiteInsertBase = class extends (_b142 = QueryPromise, _a198 = entityKind, _b142) {
|
|
30864
|
-
constructor(table4, values, session, dialect4, withList) {
|
|
30865
|
-
super();
|
|
30866
|
-
/** @internal */
|
|
30867
|
-
__publicField(this, "config");
|
|
30868
|
-
__publicField(this, "run", (placeholderValues) => {
|
|
30869
|
-
return this._prepare().run(placeholderValues);
|
|
30870
|
-
});
|
|
30871
|
-
__publicField(this, "all", (placeholderValues) => {
|
|
30872
|
-
return this._prepare().all(placeholderValues);
|
|
30873
|
-
});
|
|
30874
|
-
__publicField(this, "get", (placeholderValues) => {
|
|
30875
|
-
return this._prepare().get(placeholderValues);
|
|
30876
|
-
});
|
|
30877
|
-
__publicField(this, "values", (placeholderValues) => {
|
|
30878
|
-
return this._prepare().values(placeholderValues);
|
|
30879
|
-
});
|
|
30880
|
-
this.session = session;
|
|
30881
|
-
this.dialect = dialect4;
|
|
30882
|
-
this.config = { table: table4, values, withList };
|
|
30883
|
-
}
|
|
30884
|
-
returning(fields = this.config.table[SQLiteTable.Symbol.Columns]) {
|
|
30885
|
-
this.config.returning = orderSelectedFields(fields);
|
|
30886
|
-
return this;
|
|
30887
|
-
}
|
|
30888
|
-
/**
|
|
30889
|
-
* Adds an `on conflict do nothing` clause to the query.
|
|
30890
|
-
*
|
|
30891
|
-
* Calling this method simply avoids inserting a row as its alternative action.
|
|
30892
|
-
*
|
|
30893
|
-
* See docs: {@link https://orm.drizzle.team/docs/insert#on-conflict-do-nothing}
|
|
30894
|
-
*
|
|
30895
|
-
* @param config The `target` and `where` clauses.
|
|
30896
|
-
*
|
|
30897
|
-
* @example
|
|
30898
|
-
* ```ts
|
|
30899
|
-
* // Insert one row and cancel the insert if there's a conflict
|
|
30900
|
-
* await db.insert(cars)
|
|
30901
|
-
* .values({ id: 1, brand: 'BMW' })
|
|
30902
|
-
* .onConflictDoNothing();
|
|
30903
|
-
*
|
|
30904
|
-
* // Explicitly specify conflict target
|
|
30905
|
-
* await db.insert(cars)
|
|
30906
|
-
* .values({ id: 1, brand: 'BMW' })
|
|
30907
|
-
* .onConflictDoNothing({ target: cars.id });
|
|
30908
|
-
* ```
|
|
30909
|
-
*/
|
|
30910
|
-
onConflictDoNothing(config = {}) {
|
|
30911
|
-
if (config.target === void 0) {
|
|
30912
|
-
this.config.onConflict = sql`do nothing`;
|
|
30913
|
-
} else {
|
|
30914
|
-
const targetSql = Array.isArray(config.target) ? sql`${config.target}` : sql`${[config.target]}`;
|
|
30915
|
-
const whereSql = config.where ? sql` where ${config.where}` : sql``;
|
|
30916
|
-
this.config.onConflict = sql`${targetSql} do nothing${whereSql}`;
|
|
30917
|
-
}
|
|
30918
|
-
return this;
|
|
30919
|
-
}
|
|
30920
|
-
/**
|
|
30921
|
-
* Adds an `on conflict do update` clause to the query.
|
|
30922
|
-
*
|
|
30923
|
-
* Calling this method will update the existing row that conflicts with the row proposed for insertion as its alternative action.
|
|
30924
|
-
*
|
|
30925
|
-
* See docs: {@link https://orm.drizzle.team/docs/insert#upserts-and-conflicts}
|
|
30926
|
-
*
|
|
30927
|
-
* @param config The `target`, `set` and `where` clauses.
|
|
30928
|
-
*
|
|
30929
|
-
* @example
|
|
30930
|
-
* ```ts
|
|
30931
|
-
* // Update the row if there's a conflict
|
|
30932
|
-
* await db.insert(cars)
|
|
30933
|
-
* .values({ id: 1, brand: 'BMW' })
|
|
30934
|
-
* .onConflictDoUpdate({
|
|
30935
|
-
* target: cars.id,
|
|
30936
|
-
* set: { brand: 'Porsche' }
|
|
30937
|
-
* });
|
|
30938
|
-
*
|
|
30939
|
-
* // Upsert with 'where' clause
|
|
30940
|
-
* await db.insert(cars)
|
|
30941
|
-
* .values({ id: 1, brand: 'BMW' })
|
|
30942
|
-
* .onConflictDoUpdate({
|
|
30943
|
-
* target: cars.id,
|
|
30944
|
-
* set: { brand: 'newBMW' },
|
|
30945
|
-
* where: sql`${cars.createdAt} > '2023-01-01'::date`,
|
|
30946
|
-
* });
|
|
30947
|
-
* ```
|
|
30948
|
-
*/
|
|
30949
|
-
onConflictDoUpdate(config) {
|
|
30950
|
-
if (config.where && (config.targetWhere || config.setWhere)) {
|
|
30951
|
-
throw new Error(
|
|
30952
|
-
'You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.'
|
|
30953
|
-
);
|
|
30954
|
-
}
|
|
30955
|
-
const whereSql = config.where ? sql` where ${config.where}` : void 0;
|
|
30956
|
-
const targetWhereSql = config.targetWhere ? sql` where ${config.targetWhere}` : void 0;
|
|
30957
|
-
const setWhereSql = config.setWhere ? sql` where ${config.setWhere}` : void 0;
|
|
30958
|
-
const targetSql = Array.isArray(config.target) ? sql`${config.target}` : sql`${[config.target]}`;
|
|
30959
|
-
const setSql = this.dialect.buildUpdateSet(this.config.table, mapUpdateSet(this.config.table, config.set));
|
|
30960
|
-
this.config.onConflict = sql`${targetSql}${targetWhereSql} do update set ${setSql}${whereSql}${setWhereSql}`;
|
|
30961
|
-
return this;
|
|
30962
|
-
}
|
|
30963
|
-
/** @internal */
|
|
30964
|
-
getSQL() {
|
|
30965
|
-
return this.dialect.buildInsertQuery(this.config);
|
|
30966
|
-
}
|
|
30967
|
-
toSQL() {
|
|
30968
|
-
const { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());
|
|
30969
|
-
return rest;
|
|
30970
|
-
}
|
|
30971
|
-
/** @internal */
|
|
30972
|
-
_prepare(isOneTimeQuery = true) {
|
|
30973
|
-
return this.session[isOneTimeQuery ? "prepareOneTimeQuery" : "prepareQuery"](
|
|
30974
|
-
this.dialect.sqlToQuery(this.getSQL()),
|
|
30975
|
-
this.config.returning,
|
|
30976
|
-
this.config.returning ? "all" : "run",
|
|
30977
|
-
true
|
|
30978
|
-
);
|
|
30979
|
-
}
|
|
30980
|
-
prepare() {
|
|
30981
|
-
return this._prepare(false);
|
|
30982
|
-
}
|
|
30983
|
-
async execute() {
|
|
30984
|
-
return this.config.returning ? this.all() : this.run();
|
|
30985
|
-
}
|
|
31028
|
+
async execute(placeholderValues) {
|
|
31029
|
+
return this._prepare().execute(placeholderValues);
|
|
31030
|
+
}
|
|
30986
31031
|
$dynamic() {
|
|
30987
31032
|
return this;
|
|
30988
31033
|
}
|
|
30989
31034
|
};
|
|
30990
|
-
__publicField(
|
|
31035
|
+
__publicField(SQLiteDeleteBase, _a196, "SQLiteDelete");
|
|
30991
31036
|
}
|
|
30992
31037
|
});
|
|
30993
31038
|
|
|
30994
31039
|
// ../drizzle-orm/dist/sqlite-core/view-base.js
|
|
30995
|
-
var
|
|
31040
|
+
var _a197, _b142, SQLiteViewBase;
|
|
30996
31041
|
var init_view_base2 = __esm({
|
|
30997
31042
|
"../drizzle-orm/dist/sqlite-core/view-base.js"() {
|
|
30998
31043
|
"use strict";
|
|
30999
31044
|
init_entity();
|
|
31000
31045
|
init_sql();
|
|
31001
|
-
SQLiteViewBase = class extends (
|
|
31046
|
+
SQLiteViewBase = class extends (_b142 = View3, _a197 = entityKind, _b142) {
|
|
31002
31047
|
};
|
|
31003
|
-
__publicField(SQLiteViewBase,
|
|
31048
|
+
__publicField(SQLiteViewBase, _a197, "SQLiteViewBase");
|
|
31004
31049
|
}
|
|
31005
31050
|
});
|
|
31006
31051
|
|
|
31007
31052
|
// ../drizzle-orm/dist/sqlite-core/dialect.js
|
|
31008
|
-
var
|
|
31053
|
+
var _a198, SQLiteDialect, _a199, _b143, SQLiteSyncDialect, _a200, _b144, SQLiteAsyncDialect;
|
|
31009
31054
|
var init_dialect2 = __esm({
|
|
31010
31055
|
"../drizzle-orm/dist/sqlite-core/dialect.js"() {
|
|
31011
31056
|
"use strict";
|
|
@@ -31024,7 +31069,7 @@ var init_dialect2 = __esm({
|
|
|
31024
31069
|
init_utils2();
|
|
31025
31070
|
init_view_common();
|
|
31026
31071
|
init_view_base2();
|
|
31027
|
-
|
|
31072
|
+
_a198 = entityKind;
|
|
31028
31073
|
SQLiteDialect = class {
|
|
31029
31074
|
constructor(config) {
|
|
31030
31075
|
/** @internal */
|
|
@@ -31077,14 +31122,16 @@ var init_dialect2 = __esm({
|
|
|
31077
31122
|
return [res];
|
|
31078
31123
|
}));
|
|
31079
31124
|
}
|
|
31080
|
-
buildUpdateQuery({ table: table4, set, where, returning, withList, limit, orderBy }) {
|
|
31125
|
+
buildUpdateQuery({ table: table4, set, where, returning, withList, joins, from, limit, orderBy }) {
|
|
31081
31126
|
const withSql = this.buildWithCTE(withList);
|
|
31082
31127
|
const setSql = this.buildUpdateSet(table4, set);
|
|
31128
|
+
const fromSql = from && sql.join([sql.raw(" from "), this.buildFromTable(from)]);
|
|
31129
|
+
const joinsSql = this.buildJoins(joins);
|
|
31083
31130
|
const returningSql = returning ? sql` returning ${this.buildSelection(returning, { isSingleTable: true })}` : void 0;
|
|
31084
31131
|
const whereSql = where ? sql` where ${where}` : void 0;
|
|
31085
31132
|
const orderBySql = this.buildOrderBy(orderBy);
|
|
31086
31133
|
const limitSql = this.buildLimit(limit);
|
|
31087
|
-
return sql`${withSql}update ${table4} set ${setSql}${whereSql}${returningSql}${orderBySql}${limitSql}`;
|
|
31134
|
+
return sql`${withSql}update ${table4} set ${setSql}${fromSql}${joinsSql}${whereSql}${returningSql}${orderBySql}${limitSql}`;
|
|
31088
31135
|
}
|
|
31089
31136
|
/**
|
|
31090
31137
|
* Builds selection SQL with provided fields/expressions
|
|
@@ -31137,6 +31184,37 @@ var init_dialect2 = __esm({
|
|
|
31137
31184
|
});
|
|
31138
31185
|
return sql.join(chunks);
|
|
31139
31186
|
}
|
|
31187
|
+
buildJoins(joins) {
|
|
31188
|
+
if (!joins || joins.length === 0) {
|
|
31189
|
+
return void 0;
|
|
31190
|
+
}
|
|
31191
|
+
const joinsArray = [];
|
|
31192
|
+
if (joins) {
|
|
31193
|
+
for (const [index4, joinMeta] of joins.entries()) {
|
|
31194
|
+
if (index4 === 0) {
|
|
31195
|
+
joinsArray.push(sql` `);
|
|
31196
|
+
}
|
|
31197
|
+
const table4 = joinMeta.table;
|
|
31198
|
+
if (is(table4, SQLiteTable)) {
|
|
31199
|
+
const tableName = table4[SQLiteTable.Symbol.Name];
|
|
31200
|
+
const tableSchema = table4[SQLiteTable.Symbol.Schema];
|
|
31201
|
+
const origTableName = table4[SQLiteTable.Symbol.OriginalName];
|
|
31202
|
+
const alias = tableName === origTableName ? void 0 : joinMeta.alias;
|
|
31203
|
+
joinsArray.push(
|
|
31204
|
+
sql`${sql.raw(joinMeta.joinType)} join ${tableSchema ? sql`${sql.identifier(tableSchema)}.` : void 0}${sql.identifier(origTableName)}${alias && sql` ${sql.identifier(alias)}`} on ${joinMeta.on}`
|
|
31205
|
+
);
|
|
31206
|
+
} else {
|
|
31207
|
+
joinsArray.push(
|
|
31208
|
+
sql`${sql.raw(joinMeta.joinType)} join ${table4} on ${joinMeta.on}`
|
|
31209
|
+
);
|
|
31210
|
+
}
|
|
31211
|
+
if (index4 < joins.length - 1) {
|
|
31212
|
+
joinsArray.push(sql` `);
|
|
31213
|
+
}
|
|
31214
|
+
}
|
|
31215
|
+
}
|
|
31216
|
+
return sql.join(joinsArray);
|
|
31217
|
+
}
|
|
31140
31218
|
buildLimit(limit) {
|
|
31141
31219
|
return typeof limit === "object" || typeof limit === "number" && limit >= 0 ? sql` limit ${limit}` : void 0;
|
|
31142
31220
|
}
|
|
@@ -31152,6 +31230,12 @@ var init_dialect2 = __esm({
|
|
|
31152
31230
|
}
|
|
31153
31231
|
return orderByList.length > 0 ? sql` order by ${sql.join(orderByList)}` : void 0;
|
|
31154
31232
|
}
|
|
31233
|
+
buildFromTable(table4) {
|
|
31234
|
+
if (is(table4, Table2) && table4[Table2.Symbol.OriginalName] !== table4[Table2.Symbol.Name]) {
|
|
31235
|
+
return sql`${sql.identifier(table4[Table2.Symbol.OriginalName])} ${sql.identifier(table4[Table2.Symbol.Name])}`;
|
|
31236
|
+
}
|
|
31237
|
+
return table4;
|
|
31238
|
+
}
|
|
31155
31239
|
buildSelectQuery({
|
|
31156
31240
|
withList,
|
|
31157
31241
|
fields,
|
|
@@ -31182,38 +31266,8 @@ var init_dialect2 = __esm({
|
|
|
31182
31266
|
const withSql = this.buildWithCTE(withList);
|
|
31183
31267
|
const distinctSql = distinct ? sql` distinct` : void 0;
|
|
31184
31268
|
const selection = this.buildSelection(fieldsList, { isSingleTable });
|
|
31185
|
-
const tableSql = (
|
|
31186
|
-
|
|
31187
|
-
return sql`${sql.identifier(table4[Table2.Symbol.OriginalName])} ${sql.identifier(table4[Table2.Symbol.Name])}`;
|
|
31188
|
-
}
|
|
31189
|
-
return table4;
|
|
31190
|
-
})();
|
|
31191
|
-
const joinsArray = [];
|
|
31192
|
-
if (joins) {
|
|
31193
|
-
for (const [index4, joinMeta] of joins.entries()) {
|
|
31194
|
-
if (index4 === 0) {
|
|
31195
|
-
joinsArray.push(sql` `);
|
|
31196
|
-
}
|
|
31197
|
-
const table22 = joinMeta.table;
|
|
31198
|
-
if (is(table22, SQLiteTable)) {
|
|
31199
|
-
const tableName = table22[SQLiteTable.Symbol.Name];
|
|
31200
|
-
const tableSchema = table22[SQLiteTable.Symbol.Schema];
|
|
31201
|
-
const origTableName = table22[SQLiteTable.Symbol.OriginalName];
|
|
31202
|
-
const alias = tableName === origTableName ? void 0 : joinMeta.alias;
|
|
31203
|
-
joinsArray.push(
|
|
31204
|
-
sql`${sql.raw(joinMeta.joinType)} join ${tableSchema ? sql`${sql.identifier(tableSchema)}.` : void 0}${sql.identifier(origTableName)}${alias && sql` ${sql.identifier(alias)}`} on ${joinMeta.on}`
|
|
31205
|
-
);
|
|
31206
|
-
} else {
|
|
31207
|
-
joinsArray.push(
|
|
31208
|
-
sql`${sql.raw(joinMeta.joinType)} join ${table22} on ${joinMeta.on}`
|
|
31209
|
-
);
|
|
31210
|
-
}
|
|
31211
|
-
if (index4 < joins.length - 1) {
|
|
31212
|
-
joinsArray.push(sql` `);
|
|
31213
|
-
}
|
|
31214
|
-
}
|
|
31215
|
-
}
|
|
31216
|
-
const joinsSql = sql.join(joinsArray);
|
|
31269
|
+
const tableSql = this.buildFromTable(table4);
|
|
31270
|
+
const joinsSql = this.buildJoins(joins);
|
|
31217
31271
|
const whereSql = where ? sql` where ${where}` : void 0;
|
|
31218
31272
|
const havingSql = having ? sql` having ${having}` : void 0;
|
|
31219
31273
|
const groupByList = [];
|
|
@@ -31279,45 +31333,56 @@ var init_dialect2 = __esm({
|
|
|
31279
31333
|
const offsetSql = offset ? sql` offset ${offset}` : void 0;
|
|
31280
31334
|
return sql`${leftChunk}${operatorChunk}${rightChunk}${orderBySql}${limitSql}${offsetSql}`;
|
|
31281
31335
|
}
|
|
31282
|
-
buildInsertQuery({ table: table4, values, onConflict, returning, withList }) {
|
|
31336
|
+
buildInsertQuery({ table: table4, values: valuesOrSelect, onConflict, returning, withList, select }) {
|
|
31283
31337
|
const valuesSqlList = [];
|
|
31284
31338
|
const columns = table4[Table2.Symbol.Columns];
|
|
31285
31339
|
const colEntries = Object.entries(columns).filter(
|
|
31286
31340
|
([_2, col]) => !col.shouldDisableInsert()
|
|
31287
31341
|
);
|
|
31288
31342
|
const insertOrder = colEntries.map(([, column4]) => sql.identifier(this.casing.getColumnCasing(column4)));
|
|
31289
|
-
|
|
31290
|
-
const
|
|
31291
|
-
|
|
31292
|
-
|
|
31293
|
-
|
|
31294
|
-
|
|
31295
|
-
|
|
31296
|
-
|
|
31297
|
-
|
|
31298
|
-
|
|
31299
|
-
|
|
31300
|
-
|
|
31301
|
-
|
|
31302
|
-
|
|
31343
|
+
if (select) {
|
|
31344
|
+
const select2 = valuesOrSelect;
|
|
31345
|
+
if (is(select2, SQL)) {
|
|
31346
|
+
valuesSqlList.push(select2);
|
|
31347
|
+
} else {
|
|
31348
|
+
valuesSqlList.push(select2.getSQL());
|
|
31349
|
+
}
|
|
31350
|
+
} else {
|
|
31351
|
+
const values = valuesOrSelect;
|
|
31352
|
+
valuesSqlList.push(sql.raw("values "));
|
|
31353
|
+
for (const [valueIndex, value] of values.entries()) {
|
|
31354
|
+
const valueList = [];
|
|
31355
|
+
for (const [fieldName, col] of colEntries) {
|
|
31356
|
+
const colValue = value[fieldName];
|
|
31357
|
+
if (colValue === void 0 || is(colValue, Param) && colValue.value === void 0) {
|
|
31358
|
+
let defaultValue;
|
|
31359
|
+
if (col.default !== null && col.default !== void 0) {
|
|
31360
|
+
defaultValue = is(col.default, SQL) ? col.default : sql.param(col.default, col);
|
|
31361
|
+
} else if (col.defaultFn !== void 0) {
|
|
31362
|
+
const defaultFnResult = col.defaultFn();
|
|
31363
|
+
defaultValue = is(defaultFnResult, SQL) ? defaultFnResult : sql.param(defaultFnResult, col);
|
|
31364
|
+
} else if (!col.default && col.onUpdateFn !== void 0) {
|
|
31365
|
+
const onUpdateFnResult = col.onUpdateFn();
|
|
31366
|
+
defaultValue = is(onUpdateFnResult, SQL) ? onUpdateFnResult : sql.param(onUpdateFnResult, col);
|
|
31367
|
+
} else {
|
|
31368
|
+
defaultValue = sql`null`;
|
|
31369
|
+
}
|
|
31370
|
+
valueList.push(defaultValue);
|
|
31303
31371
|
} else {
|
|
31304
|
-
|
|
31372
|
+
valueList.push(colValue);
|
|
31305
31373
|
}
|
|
31306
|
-
valueList.push(defaultValue);
|
|
31307
|
-
} else {
|
|
31308
|
-
valueList.push(colValue);
|
|
31309
31374
|
}
|
|
31310
|
-
|
|
31311
|
-
|
|
31312
|
-
|
|
31313
|
-
|
|
31375
|
+
valuesSqlList.push(valueList);
|
|
31376
|
+
if (valueIndex < values.length - 1) {
|
|
31377
|
+
valuesSqlList.push(sql`, `);
|
|
31378
|
+
}
|
|
31314
31379
|
}
|
|
31315
31380
|
}
|
|
31316
31381
|
const withSql = this.buildWithCTE(withList);
|
|
31317
31382
|
const valuesSql = sql.join(valuesSqlList);
|
|
31318
31383
|
const returningSql = returning ? sql` returning ${this.buildSelection(returning, { isSingleTable: true })}` : void 0;
|
|
31319
31384
|
const onConflictSql = onConflict ? sql` on conflict ${onConflict}` : void 0;
|
|
31320
|
-
return sql`${withSql}insert into ${table4} ${insertOrder}
|
|
31385
|
+
return sql`${withSql}insert into ${table4} ${insertOrder} ${valuesSql}${onConflictSql}${returningSql}`;
|
|
31321
31386
|
}
|
|
31322
31387
|
sqlToQuery(sql2, invokeSource) {
|
|
31323
31388
|
return sql2.toQuery({
|
|
@@ -31546,8 +31611,8 @@ var init_dialect2 = __esm({
|
|
|
31546
31611
|
};
|
|
31547
31612
|
}
|
|
31548
31613
|
};
|
|
31549
|
-
__publicField(SQLiteDialect,
|
|
31550
|
-
SQLiteSyncDialect = class extends (
|
|
31614
|
+
__publicField(SQLiteDialect, _a198, "SQLiteDialect");
|
|
31615
|
+
SQLiteSyncDialect = class extends (_b143 = SQLiteDialect, _a199 = entityKind, _b143) {
|
|
31551
31616
|
migrate(migrations, session, config) {
|
|
31552
31617
|
const migrationsTable = config === void 0 ? "__drizzle_migrations" : typeof config === "string" ? "__drizzle_migrations" : config.migrationsTable ?? "__drizzle_migrations";
|
|
31553
31618
|
const migrationTableCreate = sql`
|
|
@@ -31581,8 +31646,8 @@ var init_dialect2 = __esm({
|
|
|
31581
31646
|
}
|
|
31582
31647
|
}
|
|
31583
31648
|
};
|
|
31584
|
-
__publicField(SQLiteSyncDialect,
|
|
31585
|
-
SQLiteAsyncDialect = class extends (
|
|
31649
|
+
__publicField(SQLiteSyncDialect, _a199, "SQLiteSyncDialect");
|
|
31650
|
+
SQLiteAsyncDialect = class extends (_b144 = SQLiteDialect, _a200 = entityKind, _b144) {
|
|
31586
31651
|
async migrate(migrations, session, config) {
|
|
31587
31652
|
const migrationsTable = config === void 0 ? "__drizzle_migrations" : typeof config === "string" ? "__drizzle_migrations" : config.migrationsTable ?? "__drizzle_migrations";
|
|
31588
31653
|
const migrationTableCreate = sql`
|
|
@@ -31611,7 +31676,7 @@ var init_dialect2 = __esm({
|
|
|
31611
31676
|
});
|
|
31612
31677
|
}
|
|
31613
31678
|
};
|
|
31614
|
-
__publicField(SQLiteAsyncDialect,
|
|
31679
|
+
__publicField(SQLiteAsyncDialect, _a200, "SQLiteAsyncDialect");
|
|
31615
31680
|
}
|
|
31616
31681
|
});
|
|
31617
31682
|
|
|
@@ -31633,7 +31698,7 @@ function createSetOperator2(type, isAll) {
|
|
|
31633
31698
|
return leftSelect.addSetOperators(setOperators);
|
|
31634
31699
|
};
|
|
31635
31700
|
}
|
|
31636
|
-
var
|
|
31701
|
+
var _a201, SQLiteSelectBuilder, _a202, _b145, SQLiteSelectQueryBuilderBase, _a203, _b146, SQLiteSelectBase, getSQLiteSetOperators, union2, unionAll2, intersect2, except2;
|
|
31637
31702
|
var init_select3 = __esm({
|
|
31638
31703
|
"../drizzle-orm/dist/sqlite-core/query-builders/select.js"() {
|
|
31639
31704
|
"use strict";
|
|
@@ -31647,7 +31712,7 @@ var init_select3 = __esm({
|
|
|
31647
31712
|
init_utils2();
|
|
31648
31713
|
init_view_common();
|
|
31649
31714
|
init_view_base2();
|
|
31650
|
-
|
|
31715
|
+
_a201 = entityKind;
|
|
31651
31716
|
SQLiteSelectBuilder = class {
|
|
31652
31717
|
constructor(config) {
|
|
31653
31718
|
__publicField(this, "fields");
|
|
@@ -31688,8 +31753,8 @@ var init_select3 = __esm({
|
|
|
31688
31753
|
});
|
|
31689
31754
|
}
|
|
31690
31755
|
};
|
|
31691
|
-
__publicField(SQLiteSelectBuilder,
|
|
31692
|
-
SQLiteSelectQueryBuilderBase = class extends (
|
|
31756
|
+
__publicField(SQLiteSelectBuilder, _a201, "SQLiteSelectBuilder");
|
|
31757
|
+
SQLiteSelectQueryBuilderBase = class extends (_b145 = TypedQueryBuilder, _a202 = entityKind, _b145) {
|
|
31693
31758
|
constructor({ table: table4, fields, isPartialSelect, session, dialect: dialect4, withList, distinct }) {
|
|
31694
31759
|
super();
|
|
31695
31760
|
__publicField(this, "_");
|
|
@@ -32194,8 +32259,8 @@ var init_select3 = __esm({
|
|
|
32194
32259
|
return this;
|
|
32195
32260
|
}
|
|
32196
32261
|
};
|
|
32197
|
-
__publicField(SQLiteSelectQueryBuilderBase,
|
|
32198
|
-
SQLiteSelectBase = class extends (
|
|
32262
|
+
__publicField(SQLiteSelectQueryBuilderBase, _a202, "SQLiteSelectQueryBuilder");
|
|
32263
|
+
SQLiteSelectBase = class extends (_b146 = SQLiteSelectQueryBuilderBase, _a203 = entityKind, _b146) {
|
|
32199
32264
|
constructor() {
|
|
32200
32265
|
super(...arguments);
|
|
32201
32266
|
__publicField(this, "run", (placeholderValues) => {
|
|
@@ -32233,7 +32298,7 @@ var init_select3 = __esm({
|
|
|
32233
32298
|
return this.all();
|
|
32234
32299
|
}
|
|
32235
32300
|
};
|
|
32236
|
-
__publicField(SQLiteSelectBase,
|
|
32301
|
+
__publicField(SQLiteSelectBase, _a203, "SQLiteSelect");
|
|
32237
32302
|
applyMixins(SQLiteSelectBase, [QueryPromise]);
|
|
32238
32303
|
getSQLiteSetOperators = () => ({
|
|
32239
32304
|
union: union2,
|
|
@@ -32249,7 +32314,7 @@ var init_select3 = __esm({
|
|
|
32249
32314
|
});
|
|
32250
32315
|
|
|
32251
32316
|
// ../drizzle-orm/dist/sqlite-core/query-builders/query-builder.js
|
|
32252
|
-
var
|
|
32317
|
+
var _a204, QueryBuilder2;
|
|
32253
32318
|
var init_query_builder3 = __esm({
|
|
32254
32319
|
"../drizzle-orm/dist/sqlite-core/query-builders/query-builder.js"() {
|
|
32255
32320
|
"use strict";
|
|
@@ -32258,7 +32323,7 @@ var init_query_builder3 = __esm({
|
|
|
32258
32323
|
init_dialect2();
|
|
32259
32324
|
init_subquery();
|
|
32260
32325
|
init_select3();
|
|
32261
|
-
|
|
32326
|
+
_a204 = entityKind;
|
|
32262
32327
|
QueryBuilder2 = class {
|
|
32263
32328
|
constructor(dialect4) {
|
|
32264
32329
|
__publicField(this, "dialect");
|
|
@@ -32320,7 +32385,185 @@ var init_query_builder3 = __esm({
|
|
|
32320
32385
|
return this.dialect;
|
|
32321
32386
|
}
|
|
32322
32387
|
};
|
|
32323
|
-
__publicField(QueryBuilder2,
|
|
32388
|
+
__publicField(QueryBuilder2, _a204, "SQLiteQueryBuilder");
|
|
32389
|
+
}
|
|
32390
|
+
});
|
|
32391
|
+
|
|
32392
|
+
// ../drizzle-orm/dist/sqlite-core/query-builders/insert.js
|
|
32393
|
+
var _a205, SQLiteInsertBuilder, _a206, _b147, SQLiteInsertBase;
|
|
32394
|
+
var init_insert2 = __esm({
|
|
32395
|
+
"../drizzle-orm/dist/sqlite-core/query-builders/insert.js"() {
|
|
32396
|
+
"use strict";
|
|
32397
|
+
init_entity();
|
|
32398
|
+
init_query_promise();
|
|
32399
|
+
init_sql();
|
|
32400
|
+
init_table3();
|
|
32401
|
+
init_table();
|
|
32402
|
+
init_utils2();
|
|
32403
|
+
init_query_builder3();
|
|
32404
|
+
_a205 = entityKind;
|
|
32405
|
+
SQLiteInsertBuilder = class {
|
|
32406
|
+
constructor(table4, session, dialect4, withList) {
|
|
32407
|
+
this.table = table4;
|
|
32408
|
+
this.session = session;
|
|
32409
|
+
this.dialect = dialect4;
|
|
32410
|
+
this.withList = withList;
|
|
32411
|
+
}
|
|
32412
|
+
values(values) {
|
|
32413
|
+
values = Array.isArray(values) ? values : [values];
|
|
32414
|
+
if (values.length === 0) {
|
|
32415
|
+
throw new Error("values() must be called with at least one value");
|
|
32416
|
+
}
|
|
32417
|
+
const mappedValues = values.map((entry) => {
|
|
32418
|
+
const result = {};
|
|
32419
|
+
const cols = this.table[Table2.Symbol.Columns];
|
|
32420
|
+
for (const colKey of Object.keys(entry)) {
|
|
32421
|
+
const colValue = entry[colKey];
|
|
32422
|
+
result[colKey] = is(colValue, SQL) ? colValue : new Param(colValue, cols[colKey]);
|
|
32423
|
+
}
|
|
32424
|
+
return result;
|
|
32425
|
+
});
|
|
32426
|
+
return new SQLiteInsertBase(this.table, mappedValues, this.session, this.dialect, this.withList);
|
|
32427
|
+
}
|
|
32428
|
+
select(selectQuery) {
|
|
32429
|
+
const select = typeof selectQuery === "function" ? selectQuery(new QueryBuilder2()) : selectQuery;
|
|
32430
|
+
if (!is(select, SQL) && !haveSameKeys(this.table[Columns], select._.selectedFields)) {
|
|
32431
|
+
throw new Error(
|
|
32432
|
+
"Insert select error: selected fields are not the same or are in a different order compared to the table definition"
|
|
32433
|
+
);
|
|
32434
|
+
}
|
|
32435
|
+
return new SQLiteInsertBase(this.table, select, this.session, this.dialect, this.withList, true);
|
|
32436
|
+
}
|
|
32437
|
+
};
|
|
32438
|
+
__publicField(SQLiteInsertBuilder, _a205, "SQLiteInsertBuilder");
|
|
32439
|
+
SQLiteInsertBase = class extends (_b147 = QueryPromise, _a206 = entityKind, _b147) {
|
|
32440
|
+
constructor(table4, values, session, dialect4, withList, select) {
|
|
32441
|
+
super();
|
|
32442
|
+
/** @internal */
|
|
32443
|
+
__publicField(this, "config");
|
|
32444
|
+
__publicField(this, "run", (placeholderValues) => {
|
|
32445
|
+
return this._prepare().run(placeholderValues);
|
|
32446
|
+
});
|
|
32447
|
+
__publicField(this, "all", (placeholderValues) => {
|
|
32448
|
+
return this._prepare().all(placeholderValues);
|
|
32449
|
+
});
|
|
32450
|
+
__publicField(this, "get", (placeholderValues) => {
|
|
32451
|
+
return this._prepare().get(placeholderValues);
|
|
32452
|
+
});
|
|
32453
|
+
__publicField(this, "values", (placeholderValues) => {
|
|
32454
|
+
return this._prepare().values(placeholderValues);
|
|
32455
|
+
});
|
|
32456
|
+
this.session = session;
|
|
32457
|
+
this.dialect = dialect4;
|
|
32458
|
+
this.config = { table: table4, values, withList, select };
|
|
32459
|
+
}
|
|
32460
|
+
returning(fields = this.config.table[SQLiteTable.Symbol.Columns]) {
|
|
32461
|
+
this.config.returning = orderSelectedFields(fields);
|
|
32462
|
+
return this;
|
|
32463
|
+
}
|
|
32464
|
+
/**
|
|
32465
|
+
* Adds an `on conflict do nothing` clause to the query.
|
|
32466
|
+
*
|
|
32467
|
+
* Calling this method simply avoids inserting a row as its alternative action.
|
|
32468
|
+
*
|
|
32469
|
+
* See docs: {@link https://orm.drizzle.team/docs/insert#on-conflict-do-nothing}
|
|
32470
|
+
*
|
|
32471
|
+
* @param config The `target` and `where` clauses.
|
|
32472
|
+
*
|
|
32473
|
+
* @example
|
|
32474
|
+
* ```ts
|
|
32475
|
+
* // Insert one row and cancel the insert if there's a conflict
|
|
32476
|
+
* await db.insert(cars)
|
|
32477
|
+
* .values({ id: 1, brand: 'BMW' })
|
|
32478
|
+
* .onConflictDoNothing();
|
|
32479
|
+
*
|
|
32480
|
+
* // Explicitly specify conflict target
|
|
32481
|
+
* await db.insert(cars)
|
|
32482
|
+
* .values({ id: 1, brand: 'BMW' })
|
|
32483
|
+
* .onConflictDoNothing({ target: cars.id });
|
|
32484
|
+
* ```
|
|
32485
|
+
*/
|
|
32486
|
+
onConflictDoNothing(config = {}) {
|
|
32487
|
+
if (config.target === void 0) {
|
|
32488
|
+
this.config.onConflict = sql`do nothing`;
|
|
32489
|
+
} else {
|
|
32490
|
+
const targetSql = Array.isArray(config.target) ? sql`${config.target}` : sql`${[config.target]}`;
|
|
32491
|
+
const whereSql = config.where ? sql` where ${config.where}` : sql``;
|
|
32492
|
+
this.config.onConflict = sql`${targetSql} do nothing${whereSql}`;
|
|
32493
|
+
}
|
|
32494
|
+
return this;
|
|
32495
|
+
}
|
|
32496
|
+
/**
|
|
32497
|
+
* Adds an `on conflict do update` clause to the query.
|
|
32498
|
+
*
|
|
32499
|
+
* Calling this method will update the existing row that conflicts with the row proposed for insertion as its alternative action.
|
|
32500
|
+
*
|
|
32501
|
+
* See docs: {@link https://orm.drizzle.team/docs/insert#upserts-and-conflicts}
|
|
32502
|
+
*
|
|
32503
|
+
* @param config The `target`, `set` and `where` clauses.
|
|
32504
|
+
*
|
|
32505
|
+
* @example
|
|
32506
|
+
* ```ts
|
|
32507
|
+
* // Update the row if there's a conflict
|
|
32508
|
+
* await db.insert(cars)
|
|
32509
|
+
* .values({ id: 1, brand: 'BMW' })
|
|
32510
|
+
* .onConflictDoUpdate({
|
|
32511
|
+
* target: cars.id,
|
|
32512
|
+
* set: { brand: 'Porsche' }
|
|
32513
|
+
* });
|
|
32514
|
+
*
|
|
32515
|
+
* // Upsert with 'where' clause
|
|
32516
|
+
* await db.insert(cars)
|
|
32517
|
+
* .values({ id: 1, brand: 'BMW' })
|
|
32518
|
+
* .onConflictDoUpdate({
|
|
32519
|
+
* target: cars.id,
|
|
32520
|
+
* set: { brand: 'newBMW' },
|
|
32521
|
+
* where: sql`${cars.createdAt} > '2023-01-01'::date`,
|
|
32522
|
+
* });
|
|
32523
|
+
* ```
|
|
32524
|
+
*/
|
|
32525
|
+
onConflictDoUpdate(config) {
|
|
32526
|
+
if (config.where && (config.targetWhere || config.setWhere)) {
|
|
32527
|
+
throw new Error(
|
|
32528
|
+
'You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.'
|
|
32529
|
+
);
|
|
32530
|
+
}
|
|
32531
|
+
const whereSql = config.where ? sql` where ${config.where}` : void 0;
|
|
32532
|
+
const targetWhereSql = config.targetWhere ? sql` where ${config.targetWhere}` : void 0;
|
|
32533
|
+
const setWhereSql = config.setWhere ? sql` where ${config.setWhere}` : void 0;
|
|
32534
|
+
const targetSql = Array.isArray(config.target) ? sql`${config.target}` : sql`${[config.target]}`;
|
|
32535
|
+
const setSql = this.dialect.buildUpdateSet(this.config.table, mapUpdateSet(this.config.table, config.set));
|
|
32536
|
+
this.config.onConflict = sql`${targetSql}${targetWhereSql} do update set ${setSql}${whereSql}${setWhereSql}`;
|
|
32537
|
+
return this;
|
|
32538
|
+
}
|
|
32539
|
+
/** @internal */
|
|
32540
|
+
getSQL() {
|
|
32541
|
+
return this.dialect.buildInsertQuery(this.config);
|
|
32542
|
+
}
|
|
32543
|
+
toSQL() {
|
|
32544
|
+
const { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());
|
|
32545
|
+
return rest;
|
|
32546
|
+
}
|
|
32547
|
+
/** @internal */
|
|
32548
|
+
_prepare(isOneTimeQuery = true) {
|
|
32549
|
+
return this.session[isOneTimeQuery ? "prepareOneTimeQuery" : "prepareQuery"](
|
|
32550
|
+
this.dialect.sqlToQuery(this.getSQL()),
|
|
32551
|
+
this.config.returning,
|
|
32552
|
+
this.config.returning ? "all" : "run",
|
|
32553
|
+
true
|
|
32554
|
+
);
|
|
32555
|
+
}
|
|
32556
|
+
prepare() {
|
|
32557
|
+
return this._prepare(false);
|
|
32558
|
+
}
|
|
32559
|
+
async execute() {
|
|
32560
|
+
return this.config.returning ? this.all() : this.run();
|
|
32561
|
+
}
|
|
32562
|
+
$dynamic() {
|
|
32563
|
+
return this;
|
|
32564
|
+
}
|
|
32565
|
+
};
|
|
32566
|
+
__publicField(SQLiteInsertBase, _a206, "SQLiteInsert");
|
|
32324
32567
|
}
|
|
32325
32568
|
});
|
|
32326
32569
|
|
|
@@ -32340,8 +32583,11 @@ var init_update2 = __esm({
|
|
|
32340
32583
|
init_query_promise();
|
|
32341
32584
|
init_selection_proxy();
|
|
32342
32585
|
init_table3();
|
|
32586
|
+
init_subquery();
|
|
32343
32587
|
init_table();
|
|
32344
32588
|
init_utils2();
|
|
32589
|
+
init_view_common();
|
|
32590
|
+
init_view_base2();
|
|
32345
32591
|
_a207 = entityKind;
|
|
32346
32592
|
SQLiteUpdateBuilder = class {
|
|
32347
32593
|
constructor(table4, session, dialect4, withList) {
|
|
@@ -32366,6 +32612,10 @@ var init_update2 = __esm({
|
|
|
32366
32612
|
super();
|
|
32367
32613
|
/** @internal */
|
|
32368
32614
|
__publicField(this, "config");
|
|
32615
|
+
__publicField(this, "leftJoin", this.createJoin("left"));
|
|
32616
|
+
__publicField(this, "rightJoin", this.createJoin("right"));
|
|
32617
|
+
__publicField(this, "innerJoin", this.createJoin("inner"));
|
|
32618
|
+
__publicField(this, "fullJoin", this.createJoin("full"));
|
|
32369
32619
|
__publicField(this, "run", (placeholderValues) => {
|
|
32370
32620
|
return this._prepare().run(placeholderValues);
|
|
32371
32621
|
});
|
|
@@ -32380,7 +32630,34 @@ var init_update2 = __esm({
|
|
|
32380
32630
|
});
|
|
32381
32631
|
this.session = session;
|
|
32382
32632
|
this.dialect = dialect4;
|
|
32383
|
-
this.config = { set, table: table4, withList };
|
|
32633
|
+
this.config = { set, table: table4, withList, joins: [] };
|
|
32634
|
+
}
|
|
32635
|
+
from(source) {
|
|
32636
|
+
this.config.from = source;
|
|
32637
|
+
return this;
|
|
32638
|
+
}
|
|
32639
|
+
createJoin(joinType) {
|
|
32640
|
+
return (table4, on) => {
|
|
32641
|
+
const tableName = getTableLikeName(table4);
|
|
32642
|
+
if (typeof tableName === "string" && this.config.joins.some((join) => join.alias === tableName)) {
|
|
32643
|
+
throw new Error(`Alias "${tableName}" is already used in this query`);
|
|
32644
|
+
}
|
|
32645
|
+
if (typeof on === "function") {
|
|
32646
|
+
const from = this.config.from ? is(table4, SQLiteTable) ? table4[Table2.Symbol.Columns] : is(table4, Subquery) ? table4._.selectedFields : is(table4, SQLiteViewBase) ? table4[ViewBaseConfig].selectedFields : void 0 : void 0;
|
|
32647
|
+
on = on(
|
|
32648
|
+
new Proxy(
|
|
32649
|
+
this.config.table[Table2.Symbol.Columns],
|
|
32650
|
+
new SelectionProxyHandler({ sqlAliasedBehavior: "sql", sqlBehavior: "sql" })
|
|
32651
|
+
),
|
|
32652
|
+
from && new Proxy(
|
|
32653
|
+
from,
|
|
32654
|
+
new SelectionProxyHandler({ sqlAliasedBehavior: "sql", sqlBehavior: "sql" })
|
|
32655
|
+
)
|
|
32656
|
+
);
|
|
32657
|
+
}
|
|
32658
|
+
this.config.joins.push({ on, table: table4, joinType, alias: tableName });
|
|
32659
|
+
return this;
|
|
32660
|
+
};
|
|
32384
32661
|
}
|
|
32385
32662
|
/**
|
|
32386
32663
|
* Adds a 'where' clause to the query.
|
|
@@ -35678,131 +35955,6 @@ var init_delete3 = __esm({
|
|
|
35678
35955
|
}
|
|
35679
35956
|
});
|
|
35680
35957
|
|
|
35681
|
-
// ../drizzle-orm/dist/mysql-core/query-builders/insert.js
|
|
35682
|
-
var _a299, MySqlInsertBuilder, _a300, _b222, MySqlInsertBase;
|
|
35683
|
-
var init_insert3 = __esm({
|
|
35684
|
-
"../drizzle-orm/dist/mysql-core/query-builders/insert.js"() {
|
|
35685
|
-
"use strict";
|
|
35686
|
-
init_entity();
|
|
35687
|
-
init_query_promise();
|
|
35688
|
-
init_sql();
|
|
35689
|
-
init_table();
|
|
35690
|
-
init_utils2();
|
|
35691
|
-
_a299 = entityKind;
|
|
35692
|
-
MySqlInsertBuilder = class {
|
|
35693
|
-
constructor(table4, session, dialect4) {
|
|
35694
|
-
__publicField(this, "shouldIgnore", false);
|
|
35695
|
-
this.table = table4;
|
|
35696
|
-
this.session = session;
|
|
35697
|
-
this.dialect = dialect4;
|
|
35698
|
-
}
|
|
35699
|
-
ignore() {
|
|
35700
|
-
this.shouldIgnore = true;
|
|
35701
|
-
return this;
|
|
35702
|
-
}
|
|
35703
|
-
values(values) {
|
|
35704
|
-
values = Array.isArray(values) ? values : [values];
|
|
35705
|
-
if (values.length === 0) {
|
|
35706
|
-
throw new Error("values() must be called with at least one value");
|
|
35707
|
-
}
|
|
35708
|
-
const mappedValues = values.map((entry) => {
|
|
35709
|
-
const result = {};
|
|
35710
|
-
const cols = this.table[Table2.Symbol.Columns];
|
|
35711
|
-
for (const colKey of Object.keys(entry)) {
|
|
35712
|
-
const colValue = entry[colKey];
|
|
35713
|
-
result[colKey] = is(colValue, SQL) ? colValue : new Param(colValue, cols[colKey]);
|
|
35714
|
-
}
|
|
35715
|
-
return result;
|
|
35716
|
-
});
|
|
35717
|
-
return new MySqlInsertBase(this.table, mappedValues, this.shouldIgnore, this.session, this.dialect);
|
|
35718
|
-
}
|
|
35719
|
-
};
|
|
35720
|
-
__publicField(MySqlInsertBuilder, _a299, "MySqlInsertBuilder");
|
|
35721
|
-
MySqlInsertBase = class extends (_b222 = QueryPromise, _a300 = entityKind, _b222) {
|
|
35722
|
-
constructor(table4, values, ignore, session, dialect4) {
|
|
35723
|
-
super();
|
|
35724
|
-
__publicField(this, "config");
|
|
35725
|
-
__publicField(this, "execute", (placeholderValues) => {
|
|
35726
|
-
return this.prepare().execute(placeholderValues);
|
|
35727
|
-
});
|
|
35728
|
-
__publicField(this, "createIterator", () => {
|
|
35729
|
-
const self2 = this;
|
|
35730
|
-
return async function* (placeholderValues) {
|
|
35731
|
-
yield* self2.prepare().iterator(placeholderValues);
|
|
35732
|
-
};
|
|
35733
|
-
});
|
|
35734
|
-
__publicField(this, "iterator", this.createIterator());
|
|
35735
|
-
this.session = session;
|
|
35736
|
-
this.dialect = dialect4;
|
|
35737
|
-
this.config = { table: table4, values, ignore };
|
|
35738
|
-
}
|
|
35739
|
-
/**
|
|
35740
|
-
* Adds an `on duplicate key update` clause to the query.
|
|
35741
|
-
*
|
|
35742
|
-
* Calling this method will update the row if any unique index conflicts. MySQL will automatically determine the conflict target based on the primary key and unique indexes.
|
|
35743
|
-
*
|
|
35744
|
-
* See docs: {@link https://orm.drizzle.team/docs/insert#on-duplicate-key-update}
|
|
35745
|
-
*
|
|
35746
|
-
* @param config The `set` clause
|
|
35747
|
-
*
|
|
35748
|
-
* @example
|
|
35749
|
-
* ```ts
|
|
35750
|
-
* await db.insert(cars)
|
|
35751
|
-
* .values({ id: 1, brand: 'BMW'})
|
|
35752
|
-
* .onDuplicateKeyUpdate({ set: { brand: 'Porsche' }});
|
|
35753
|
-
* ```
|
|
35754
|
-
*
|
|
35755
|
-
* While MySQL does not directly support doing nothing on conflict, you can perform a no-op by setting any column's value to itself and achieve the same effect:
|
|
35756
|
-
*
|
|
35757
|
-
* ```ts
|
|
35758
|
-
* import { sql } from 'drizzle-orm';
|
|
35759
|
-
*
|
|
35760
|
-
* await db.insert(cars)
|
|
35761
|
-
* .values({ id: 1, brand: 'BMW' })
|
|
35762
|
-
* .onDuplicateKeyUpdate({ set: { id: sql`id` } });
|
|
35763
|
-
* ```
|
|
35764
|
-
*/
|
|
35765
|
-
onDuplicateKeyUpdate(config) {
|
|
35766
|
-
const setSql = this.dialect.buildUpdateSet(this.config.table, mapUpdateSet(this.config.table, config.set));
|
|
35767
|
-
this.config.onConflict = sql`update ${setSql}`;
|
|
35768
|
-
return this;
|
|
35769
|
-
}
|
|
35770
|
-
$returningId() {
|
|
35771
|
-
const returning = [];
|
|
35772
|
-
for (const [key, value] of Object.entries(this.config.table[Table2.Symbol.Columns])) {
|
|
35773
|
-
if (value.primary) {
|
|
35774
|
-
returning.push({ field: value, path: [key] });
|
|
35775
|
-
}
|
|
35776
|
-
}
|
|
35777
|
-
this.config.returning = returning;
|
|
35778
|
-
return this;
|
|
35779
|
-
}
|
|
35780
|
-
/** @internal */
|
|
35781
|
-
getSQL() {
|
|
35782
|
-
return this.dialect.buildInsertQuery(this.config).sql;
|
|
35783
|
-
}
|
|
35784
|
-
toSQL() {
|
|
35785
|
-
const { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());
|
|
35786
|
-
return rest;
|
|
35787
|
-
}
|
|
35788
|
-
prepare() {
|
|
35789
|
-
const { sql: sql2, generatedIds } = this.dialect.buildInsertQuery(this.config);
|
|
35790
|
-
return this.session.prepareQuery(
|
|
35791
|
-
this.dialect.sqlToQuery(sql2),
|
|
35792
|
-
void 0,
|
|
35793
|
-
void 0,
|
|
35794
|
-
generatedIds,
|
|
35795
|
-
this.config.returning
|
|
35796
|
-
);
|
|
35797
|
-
}
|
|
35798
|
-
$dynamic() {
|
|
35799
|
-
return this;
|
|
35800
|
-
}
|
|
35801
|
-
};
|
|
35802
|
-
__publicField(MySqlInsertBase, _a300, "MySqlInsert");
|
|
35803
|
-
}
|
|
35804
|
-
});
|
|
35805
|
-
|
|
35806
35958
|
// ../drizzle-orm/dist/mysql-core/columns/all.js
|
|
35807
35959
|
function getMySqlColumnBuilders() {
|
|
35808
35960
|
return {
|
|
@@ -35883,7 +36035,7 @@ function mysqlTableWithSchema(name2, columns, extraConfig, schema4, baseName = n
|
|
|
35883
36035
|
}
|
|
35884
36036
|
return table4;
|
|
35885
36037
|
}
|
|
35886
|
-
var InlineForeignKeys3,
|
|
36038
|
+
var InlineForeignKeys3, _a299, _b222, _c9, _d4, _e4, MySqlTable, mysqlTable;
|
|
35887
36039
|
var init_table4 = __esm({
|
|
35888
36040
|
"../drizzle-orm/dist/mysql-core/table.js"() {
|
|
35889
36041
|
"use strict";
|
|
@@ -35891,15 +36043,15 @@ var init_table4 = __esm({
|
|
|
35891
36043
|
init_table();
|
|
35892
36044
|
init_all3();
|
|
35893
36045
|
InlineForeignKeys3 = Symbol.for("drizzle:MySqlInlineForeignKeys");
|
|
35894
|
-
MySqlTable = class extends (_e4 = Table2, _d4 = entityKind, _c9 = Table2.Symbol.Columns,
|
|
36046
|
+
MySqlTable = class extends (_e4 = Table2, _d4 = entityKind, _c9 = Table2.Symbol.Columns, _b222 = InlineForeignKeys3, _a299 = Table2.Symbol.ExtraConfigBuilder, _e4) {
|
|
35895
36047
|
constructor() {
|
|
35896
36048
|
super(...arguments);
|
|
35897
36049
|
/** @internal */
|
|
35898
36050
|
__publicField(this, _c9);
|
|
35899
36051
|
/** @internal */
|
|
35900
|
-
__publicField(this,
|
|
36052
|
+
__publicField(this, _b222, []);
|
|
35901
36053
|
/** @internal */
|
|
35902
|
-
__publicField(this,
|
|
36054
|
+
__publicField(this, _a299);
|
|
35903
36055
|
}
|
|
35904
36056
|
};
|
|
35905
36057
|
__publicField(MySqlTable, _d4, "MySqlTable");
|
|
@@ -35914,20 +36066,20 @@ var init_table4 = __esm({
|
|
|
35914
36066
|
});
|
|
35915
36067
|
|
|
35916
36068
|
// ../drizzle-orm/dist/mysql-core/view-base.js
|
|
35917
|
-
var
|
|
36069
|
+
var _a300, _b223, MySqlViewBase;
|
|
35918
36070
|
var init_view_base3 = __esm({
|
|
35919
36071
|
"../drizzle-orm/dist/mysql-core/view-base.js"() {
|
|
35920
36072
|
"use strict";
|
|
35921
36073
|
init_entity();
|
|
35922
36074
|
init_sql();
|
|
35923
|
-
MySqlViewBase = class extends (
|
|
36075
|
+
MySqlViewBase = class extends (_b223 = View3, _a300 = entityKind, _b223) {
|
|
35924
36076
|
};
|
|
35925
|
-
__publicField(MySqlViewBase,
|
|
36077
|
+
__publicField(MySqlViewBase, _a300, "MySqlViewBase");
|
|
35926
36078
|
}
|
|
35927
36079
|
});
|
|
35928
36080
|
|
|
35929
36081
|
// ../drizzle-orm/dist/mysql-core/dialect.js
|
|
35930
|
-
var
|
|
36082
|
+
var _a301, MySqlDialect;
|
|
35931
36083
|
var init_dialect3 = __esm({
|
|
35932
36084
|
"../drizzle-orm/dist/mysql-core/dialect.js"() {
|
|
35933
36085
|
"use strict";
|
|
@@ -35946,7 +36098,7 @@ var init_dialect3 = __esm({
|
|
|
35946
36098
|
init_common4();
|
|
35947
36099
|
init_table4();
|
|
35948
36100
|
init_view_base3();
|
|
35949
|
-
|
|
36101
|
+
_a301 = entityKind;
|
|
35950
36102
|
MySqlDialect = class {
|
|
35951
36103
|
constructor(config) {
|
|
35952
36104
|
/** @internal */
|
|
@@ -36229,7 +36381,7 @@ var init_dialect3 = __esm({
|
|
|
36229
36381
|
const offsetSql = offset ? sql` offset ${offset}` : void 0;
|
|
36230
36382
|
return sql`${leftChunk}${operatorChunk}${rightChunk}${orderBySql}${limitSql}${offsetSql}`;
|
|
36231
36383
|
}
|
|
36232
|
-
buildInsertQuery({ table: table4, values, ignore, onConflict }) {
|
|
36384
|
+
buildInsertQuery({ table: table4, values: valuesOrSelect, ignore, onConflict, select }) {
|
|
36233
36385
|
const valuesSqlList = [];
|
|
36234
36386
|
const columns = table4[Table2.Symbol.Columns];
|
|
36235
36387
|
const colEntries = Object.entries(columns).filter(
|
|
@@ -36237,42 +36389,53 @@ var init_dialect3 = __esm({
|
|
|
36237
36389
|
);
|
|
36238
36390
|
const insertOrder = colEntries.map(([, column4]) => sql.identifier(this.casing.getColumnCasing(column4)));
|
|
36239
36391
|
const generatedIdsResponse = [];
|
|
36240
|
-
|
|
36241
|
-
const
|
|
36242
|
-
|
|
36243
|
-
|
|
36244
|
-
|
|
36245
|
-
|
|
36246
|
-
|
|
36247
|
-
|
|
36248
|
-
|
|
36249
|
-
|
|
36250
|
-
|
|
36251
|
-
|
|
36252
|
-
|
|
36253
|
-
|
|
36254
|
-
|
|
36392
|
+
if (select) {
|
|
36393
|
+
const select2 = valuesOrSelect;
|
|
36394
|
+
if (is(select2, SQL)) {
|
|
36395
|
+
valuesSqlList.push(select2);
|
|
36396
|
+
} else {
|
|
36397
|
+
valuesSqlList.push(select2.getSQL());
|
|
36398
|
+
}
|
|
36399
|
+
} else {
|
|
36400
|
+
const values = valuesOrSelect;
|
|
36401
|
+
valuesSqlList.push(sql.raw("values "));
|
|
36402
|
+
for (const [valueIndex, value] of values.entries()) {
|
|
36403
|
+
const generatedIds = {};
|
|
36404
|
+
const valueList = [];
|
|
36405
|
+
for (const [fieldName, col] of colEntries) {
|
|
36406
|
+
const colValue = value[fieldName];
|
|
36407
|
+
if (colValue === void 0 || is(colValue, Param) && colValue.value === void 0) {
|
|
36408
|
+
if (col.defaultFn !== void 0) {
|
|
36409
|
+
const defaultFnResult = col.defaultFn();
|
|
36410
|
+
generatedIds[fieldName] = defaultFnResult;
|
|
36411
|
+
const defaultValue = is(defaultFnResult, SQL) ? defaultFnResult : sql.param(defaultFnResult, col);
|
|
36412
|
+
valueList.push(defaultValue);
|
|
36413
|
+
} else if (!col.default && col.onUpdateFn !== void 0) {
|
|
36414
|
+
const onUpdateFnResult = col.onUpdateFn();
|
|
36415
|
+
const newValue = is(onUpdateFnResult, SQL) ? onUpdateFnResult : sql.param(onUpdateFnResult, col);
|
|
36416
|
+
valueList.push(newValue);
|
|
36417
|
+
} else {
|
|
36418
|
+
valueList.push(sql`default`);
|
|
36419
|
+
}
|
|
36255
36420
|
} else {
|
|
36256
|
-
|
|
36257
|
-
|
|
36258
|
-
|
|
36259
|
-
|
|
36260
|
-
generatedIds[fieldName] = colValue.value;
|
|
36421
|
+
if (col.defaultFn && is(colValue, Param)) {
|
|
36422
|
+
generatedIds[fieldName] = colValue.value;
|
|
36423
|
+
}
|
|
36424
|
+
valueList.push(colValue);
|
|
36261
36425
|
}
|
|
36262
|
-
valueList.push(colValue);
|
|
36263
36426
|
}
|
|
36264
|
-
|
|
36265
|
-
|
|
36266
|
-
|
|
36267
|
-
|
|
36268
|
-
|
|
36427
|
+
generatedIdsResponse.push(generatedIds);
|
|
36428
|
+
valuesSqlList.push(valueList);
|
|
36429
|
+
if (valueIndex < values.length - 1) {
|
|
36430
|
+
valuesSqlList.push(sql`, `);
|
|
36431
|
+
}
|
|
36269
36432
|
}
|
|
36270
36433
|
}
|
|
36271
36434
|
const valuesSql = sql.join(valuesSqlList);
|
|
36272
36435
|
const ignoreSql = ignore ? sql` ignore` : void 0;
|
|
36273
36436
|
const onConflictSql = onConflict ? sql` on duplicate key ${onConflict}` : void 0;
|
|
36274
36437
|
return {
|
|
36275
|
-
sql: sql`insert${ignoreSql} into ${table4} ${insertOrder}
|
|
36438
|
+
sql: sql`insert${ignoreSql} into ${table4} ${insertOrder} ${valuesSql}${onConflictSql}`,
|
|
36276
36439
|
generatedIds: generatedIdsResponse
|
|
36277
36440
|
};
|
|
36278
36441
|
}
|
|
@@ -36732,7 +36895,7 @@ var init_dialect3 = __esm({
|
|
|
36732
36895
|
};
|
|
36733
36896
|
}
|
|
36734
36897
|
};
|
|
36735
|
-
__publicField(MySqlDialect,
|
|
36898
|
+
__publicField(MySqlDialect, _a301, "MySqlDialect");
|
|
36736
36899
|
}
|
|
36737
36900
|
});
|
|
36738
36901
|
|
|
@@ -36754,7 +36917,7 @@ function createSetOperator3(type, isAll) {
|
|
|
36754
36917
|
return leftSelect.addSetOperators(setOperators);
|
|
36755
36918
|
};
|
|
36756
36919
|
}
|
|
36757
|
-
var
|
|
36920
|
+
var _a302, MySqlSelectBuilder, _a303, _b224, MySqlSelectQueryBuilderBase, _a304, _b225, MySqlSelectBase, getMySqlSetOperators, union3, unionAll3, intersect3, intersectAll2, except3, exceptAll2;
|
|
36758
36921
|
var init_select4 = __esm({
|
|
36759
36922
|
"../drizzle-orm/dist/mysql-core/query-builders/select.js"() {
|
|
36760
36923
|
"use strict";
|
|
@@ -36769,7 +36932,7 @@ var init_select4 = __esm({
|
|
|
36769
36932
|
init_utils2();
|
|
36770
36933
|
init_view_common();
|
|
36771
36934
|
init_view_base3();
|
|
36772
|
-
|
|
36935
|
+
_a302 = entityKind;
|
|
36773
36936
|
MySqlSelectBuilder = class {
|
|
36774
36937
|
constructor(config) {
|
|
36775
36938
|
__publicField(this, "fields");
|
|
@@ -36814,8 +36977,8 @@ var init_select4 = __esm({
|
|
|
36814
36977
|
);
|
|
36815
36978
|
}
|
|
36816
36979
|
};
|
|
36817
|
-
__publicField(MySqlSelectBuilder,
|
|
36818
|
-
MySqlSelectQueryBuilderBase = class extends (
|
|
36980
|
+
__publicField(MySqlSelectBuilder, _a302, "MySqlSelectBuilder");
|
|
36981
|
+
MySqlSelectQueryBuilderBase = class extends (_b224 = TypedQueryBuilder, _a303 = entityKind, _b224) {
|
|
36819
36982
|
constructor({ table: table4, fields, isPartialSelect, session, dialect: dialect4, withList, distinct }) {
|
|
36820
36983
|
super();
|
|
36821
36984
|
__publicField(this, "_");
|
|
@@ -37416,8 +37579,8 @@ var init_select4 = __esm({
|
|
|
37416
37579
|
return this;
|
|
37417
37580
|
}
|
|
37418
37581
|
};
|
|
37419
|
-
__publicField(MySqlSelectQueryBuilderBase,
|
|
37420
|
-
MySqlSelectBase = class extends (
|
|
37582
|
+
__publicField(MySqlSelectQueryBuilderBase, _a303, "MySqlSelectQueryBuilder");
|
|
37583
|
+
MySqlSelectBase = class extends (_b225 = MySqlSelectQueryBuilderBase, _a304 = entityKind, _b225) {
|
|
37421
37584
|
constructor() {
|
|
37422
37585
|
super(...arguments);
|
|
37423
37586
|
__publicField(this, "execute", (placeholderValues) => {
|
|
@@ -37441,7 +37604,7 @@ var init_select4 = __esm({
|
|
|
37441
37604
|
return query;
|
|
37442
37605
|
}
|
|
37443
37606
|
};
|
|
37444
|
-
__publicField(MySqlSelectBase,
|
|
37607
|
+
__publicField(MySqlSelectBase, _a304, "MySqlSelect");
|
|
37445
37608
|
applyMixins(MySqlSelectBase, [QueryPromise]);
|
|
37446
37609
|
getMySqlSetOperators = () => ({
|
|
37447
37610
|
union: union3,
|
|
@@ -37461,7 +37624,7 @@ var init_select4 = __esm({
|
|
|
37461
37624
|
});
|
|
37462
37625
|
|
|
37463
37626
|
// ../drizzle-orm/dist/mysql-core/query-builders/query-builder.js
|
|
37464
|
-
var
|
|
37627
|
+
var _a305, QueryBuilder3;
|
|
37465
37628
|
var init_query_builder4 = __esm({
|
|
37466
37629
|
"../drizzle-orm/dist/mysql-core/query-builders/query-builder.js"() {
|
|
37467
37630
|
"use strict";
|
|
@@ -37470,7 +37633,7 @@ var init_query_builder4 = __esm({
|
|
|
37470
37633
|
init_selection_proxy();
|
|
37471
37634
|
init_subquery();
|
|
37472
37635
|
init_select4();
|
|
37473
|
-
|
|
37636
|
+
_a305 = entityKind;
|
|
37474
37637
|
QueryBuilder3 = class {
|
|
37475
37638
|
constructor(dialect4) {
|
|
37476
37639
|
__publicField(this, "dialect");
|
|
@@ -37532,7 +37695,142 @@ var init_query_builder4 = __esm({
|
|
|
37532
37695
|
return this.dialect;
|
|
37533
37696
|
}
|
|
37534
37697
|
};
|
|
37535
|
-
__publicField(QueryBuilder3,
|
|
37698
|
+
__publicField(QueryBuilder3, _a305, "MySqlQueryBuilder");
|
|
37699
|
+
}
|
|
37700
|
+
});
|
|
37701
|
+
|
|
37702
|
+
// ../drizzle-orm/dist/mysql-core/query-builders/insert.js
|
|
37703
|
+
var _a306, MySqlInsertBuilder, _a307, _b226, MySqlInsertBase;
|
|
37704
|
+
var init_insert3 = __esm({
|
|
37705
|
+
"../drizzle-orm/dist/mysql-core/query-builders/insert.js"() {
|
|
37706
|
+
"use strict";
|
|
37707
|
+
init_entity();
|
|
37708
|
+
init_query_promise();
|
|
37709
|
+
init_sql();
|
|
37710
|
+
init_table();
|
|
37711
|
+
init_utils2();
|
|
37712
|
+
init_query_builder4();
|
|
37713
|
+
_a306 = entityKind;
|
|
37714
|
+
MySqlInsertBuilder = class {
|
|
37715
|
+
constructor(table4, session, dialect4) {
|
|
37716
|
+
__publicField(this, "shouldIgnore", false);
|
|
37717
|
+
this.table = table4;
|
|
37718
|
+
this.session = session;
|
|
37719
|
+
this.dialect = dialect4;
|
|
37720
|
+
}
|
|
37721
|
+
ignore() {
|
|
37722
|
+
this.shouldIgnore = true;
|
|
37723
|
+
return this;
|
|
37724
|
+
}
|
|
37725
|
+
values(values) {
|
|
37726
|
+
values = Array.isArray(values) ? values : [values];
|
|
37727
|
+
if (values.length === 0) {
|
|
37728
|
+
throw new Error("values() must be called with at least one value");
|
|
37729
|
+
}
|
|
37730
|
+
const mappedValues = values.map((entry) => {
|
|
37731
|
+
const result = {};
|
|
37732
|
+
const cols = this.table[Table2.Symbol.Columns];
|
|
37733
|
+
for (const colKey of Object.keys(entry)) {
|
|
37734
|
+
const colValue = entry[colKey];
|
|
37735
|
+
result[colKey] = is(colValue, SQL) ? colValue : new Param(colValue, cols[colKey]);
|
|
37736
|
+
}
|
|
37737
|
+
return result;
|
|
37738
|
+
});
|
|
37739
|
+
return new MySqlInsertBase(this.table, mappedValues, this.shouldIgnore, this.session, this.dialect);
|
|
37740
|
+
}
|
|
37741
|
+
select(selectQuery) {
|
|
37742
|
+
const select = typeof selectQuery === "function" ? selectQuery(new QueryBuilder3()) : selectQuery;
|
|
37743
|
+
if (!is(select, SQL) && !haveSameKeys(this.table[Columns], select._.selectedFields)) {
|
|
37744
|
+
throw new Error(
|
|
37745
|
+
"Insert select error: selected fields are not the same or are in a different order compared to the table definition"
|
|
37746
|
+
);
|
|
37747
|
+
}
|
|
37748
|
+
return new MySqlInsertBase(this.table, select, this.shouldIgnore, this.session, this.dialect, true);
|
|
37749
|
+
}
|
|
37750
|
+
};
|
|
37751
|
+
__publicField(MySqlInsertBuilder, _a306, "MySqlInsertBuilder");
|
|
37752
|
+
MySqlInsertBase = class extends (_b226 = QueryPromise, _a307 = entityKind, _b226) {
|
|
37753
|
+
constructor(table4, values, ignore, session, dialect4, select) {
|
|
37754
|
+
super();
|
|
37755
|
+
__publicField(this, "config");
|
|
37756
|
+
__publicField(this, "execute", (placeholderValues) => {
|
|
37757
|
+
return this.prepare().execute(placeholderValues);
|
|
37758
|
+
});
|
|
37759
|
+
__publicField(this, "createIterator", () => {
|
|
37760
|
+
const self2 = this;
|
|
37761
|
+
return async function* (placeholderValues) {
|
|
37762
|
+
yield* self2.prepare().iterator(placeholderValues);
|
|
37763
|
+
};
|
|
37764
|
+
});
|
|
37765
|
+
__publicField(this, "iterator", this.createIterator());
|
|
37766
|
+
this.session = session;
|
|
37767
|
+
this.dialect = dialect4;
|
|
37768
|
+
this.config = { table: table4, values, select, ignore };
|
|
37769
|
+
}
|
|
37770
|
+
/**
|
|
37771
|
+
* Adds an `on duplicate key update` clause to the query.
|
|
37772
|
+
*
|
|
37773
|
+
* Calling this method will update the row if any unique index conflicts. MySQL will automatically determine the conflict target based on the primary key and unique indexes.
|
|
37774
|
+
*
|
|
37775
|
+
* See docs: {@link https://orm.drizzle.team/docs/insert#on-duplicate-key-update}
|
|
37776
|
+
*
|
|
37777
|
+
* @param config The `set` clause
|
|
37778
|
+
*
|
|
37779
|
+
* @example
|
|
37780
|
+
* ```ts
|
|
37781
|
+
* await db.insert(cars)
|
|
37782
|
+
* .values({ id: 1, brand: 'BMW'})
|
|
37783
|
+
* .onDuplicateKeyUpdate({ set: { brand: 'Porsche' }});
|
|
37784
|
+
* ```
|
|
37785
|
+
*
|
|
37786
|
+
* While MySQL does not directly support doing nothing on conflict, you can perform a no-op by setting any column's value to itself and achieve the same effect:
|
|
37787
|
+
*
|
|
37788
|
+
* ```ts
|
|
37789
|
+
* import { sql } from 'drizzle-orm';
|
|
37790
|
+
*
|
|
37791
|
+
* await db.insert(cars)
|
|
37792
|
+
* .values({ id: 1, brand: 'BMW' })
|
|
37793
|
+
* .onDuplicateKeyUpdate({ set: { id: sql`id` } });
|
|
37794
|
+
* ```
|
|
37795
|
+
*/
|
|
37796
|
+
onDuplicateKeyUpdate(config) {
|
|
37797
|
+
const setSql = this.dialect.buildUpdateSet(this.config.table, mapUpdateSet(this.config.table, config.set));
|
|
37798
|
+
this.config.onConflict = sql`update ${setSql}`;
|
|
37799
|
+
return this;
|
|
37800
|
+
}
|
|
37801
|
+
$returningId() {
|
|
37802
|
+
const returning = [];
|
|
37803
|
+
for (const [key, value] of Object.entries(this.config.table[Table2.Symbol.Columns])) {
|
|
37804
|
+
if (value.primary) {
|
|
37805
|
+
returning.push({ field: value, path: [key] });
|
|
37806
|
+
}
|
|
37807
|
+
}
|
|
37808
|
+
this.config.returning = returning;
|
|
37809
|
+
return this;
|
|
37810
|
+
}
|
|
37811
|
+
/** @internal */
|
|
37812
|
+
getSQL() {
|
|
37813
|
+
return this.dialect.buildInsertQuery(this.config).sql;
|
|
37814
|
+
}
|
|
37815
|
+
toSQL() {
|
|
37816
|
+
const { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());
|
|
37817
|
+
return rest;
|
|
37818
|
+
}
|
|
37819
|
+
prepare() {
|
|
37820
|
+
const { sql: sql2, generatedIds } = this.dialect.buildInsertQuery(this.config);
|
|
37821
|
+
return this.session.prepareQuery(
|
|
37822
|
+
this.dialect.sqlToQuery(sql2),
|
|
37823
|
+
void 0,
|
|
37824
|
+
void 0,
|
|
37825
|
+
generatedIds,
|
|
37826
|
+
this.config.returning
|
|
37827
|
+
);
|
|
37828
|
+
}
|
|
37829
|
+
$dynamic() {
|
|
37830
|
+
return this;
|
|
37831
|
+
}
|
|
37832
|
+
};
|
|
37833
|
+
__publicField(MySqlInsertBase, _a307, "MySqlInsert");
|
|
37536
37834
|
}
|
|
37537
37835
|
});
|
|
37538
37836
|
|