drizzle-kit 0.28.0-cc4f208 → 0.28.1-166fb8d
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 +1028 -710
- package/api.mjs +1028 -710
- package/bin.cjs +637 -42
- 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.4";
|
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,55 @@ 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, overridingSystemValue_ }) {
|
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
|
-
|
25113
|
+
const overridingSql = overridingSystemValue_ === true ? sql`overriding system value ` : void 0;
|
25114
|
+
return sql`${withSql}insert into ${table4} ${insertOrder} ${overridingSql}${valuesSql}${onConflictSql}${returningSql}`;
|
25241
25115
|
}
|
25242
25116
|
buildRefreshMaterializedViewQuery({ view: view4, concurrently, withNoData }) {
|
25243
25117
|
const concurrentlySql = concurrently ? sql` concurrently` : void 0;
|
@@ -25973,12 +25847,12 @@ var init_dialect = __esm({
|
|
25973
25847
|
};
|
25974
25848
|
}
|
25975
25849
|
};
|
25976
|
-
__publicField(PgDialect,
|
25850
|
+
__publicField(PgDialect, _a127, "PgDialect");
|
25977
25851
|
}
|
25978
25852
|
});
|
25979
25853
|
|
25980
25854
|
// ../drizzle-orm/dist/selection-proxy.js
|
25981
|
-
var
|
25855
|
+
var _a128, _SelectionProxyHandler, SelectionProxyHandler;
|
25982
25856
|
var init_selection_proxy = __esm({
|
25983
25857
|
"../drizzle-orm/dist/selection-proxy.js"() {
|
25984
25858
|
"use strict";
|
@@ -25988,7 +25862,7 @@ var init_selection_proxy = __esm({
|
|
25988
25862
|
init_sql();
|
25989
25863
|
init_subquery();
|
25990
25864
|
init_view_common();
|
25991
|
-
|
25865
|
+
_a128 = entityKind;
|
25992
25866
|
_SelectionProxyHandler = class _SelectionProxyHandler {
|
25993
25867
|
constructor(config) {
|
25994
25868
|
__publicField(this, "config");
|
@@ -26054,25 +25928,25 @@ var init_selection_proxy = __esm({
|
|
26054
25928
|
return new Proxy(value, new _SelectionProxyHandler(this.config));
|
26055
25929
|
}
|
26056
25930
|
};
|
26057
|
-
__publicField(_SelectionProxyHandler,
|
25931
|
+
__publicField(_SelectionProxyHandler, _a128, "SelectionProxyHandler");
|
26058
25932
|
SelectionProxyHandler = _SelectionProxyHandler;
|
26059
25933
|
}
|
26060
25934
|
});
|
26061
25935
|
|
26062
25936
|
// ../drizzle-orm/dist/query-builders/query-builder.js
|
26063
|
-
var
|
25937
|
+
var _a129, TypedQueryBuilder;
|
26064
25938
|
var init_query_builder = __esm({
|
26065
25939
|
"../drizzle-orm/dist/query-builders/query-builder.js"() {
|
26066
25940
|
"use strict";
|
26067
25941
|
init_entity();
|
26068
|
-
|
25942
|
+
_a129 = entityKind;
|
26069
25943
|
TypedQueryBuilder = class {
|
26070
25944
|
/** @internal */
|
26071
25945
|
getSelectedFields() {
|
26072
25946
|
return this._.selectedFields;
|
26073
25947
|
}
|
26074
25948
|
};
|
26075
|
-
__publicField(TypedQueryBuilder,
|
25949
|
+
__publicField(TypedQueryBuilder, _a129, "TypedQueryBuilder");
|
26076
25950
|
}
|
26077
25951
|
});
|
26078
25952
|
|
@@ -26094,7 +25968,7 @@ function createSetOperator(type, isAll) {
|
|
26094
25968
|
return leftSelect.addSetOperators(setOperators);
|
26095
25969
|
};
|
26096
25970
|
}
|
26097
|
-
var
|
25971
|
+
var _a130, PgSelectBuilder, _a131, _b99, PgSelectQueryBuilderBase, _a132, _b100, PgSelectBase, getPgSetOperators, union, unionAll, intersect, intersectAll, except, exceptAll;
|
26098
25972
|
var init_select2 = __esm({
|
26099
25973
|
"../drizzle-orm/dist/pg-core/query-builders/select.js"() {
|
26100
25974
|
"use strict";
|
@@ -26110,7 +25984,7 @@ var init_select2 = __esm({
|
|
26110
25984
|
init_utils2();
|
26111
25985
|
init_utils2();
|
26112
25986
|
init_view_common();
|
26113
|
-
|
25987
|
+
_a130 = entityKind;
|
26114
25988
|
PgSelectBuilder = class {
|
26115
25989
|
constructor(config) {
|
26116
25990
|
__publicField(this, "fields");
|
@@ -26118,6 +25992,7 @@ var init_select2 = __esm({
|
|
26118
25992
|
__publicField(this, "dialect");
|
26119
25993
|
__publicField(this, "withList", []);
|
26120
25994
|
__publicField(this, "distinct");
|
25995
|
+
__publicField(this, "authToken");
|
26121
25996
|
this.fields = config.fields;
|
26122
25997
|
this.session = config.session;
|
26123
25998
|
this.dialect = config.dialect;
|
@@ -26126,6 +26001,11 @@ var init_select2 = __esm({
|
|
26126
26001
|
}
|
26127
26002
|
this.distinct = config.distinct;
|
26128
26003
|
}
|
26004
|
+
/** @internal */
|
26005
|
+
setToken(token) {
|
26006
|
+
this.authToken = token;
|
26007
|
+
return this;
|
26008
|
+
}
|
26129
26009
|
/**
|
26130
26010
|
* Specify the table, subquery, or other target that you're
|
26131
26011
|
* building a select query against.
|
@@ -26148,7 +26028,7 @@ var init_select2 = __esm({
|
|
26148
26028
|
} else {
|
26149
26029
|
fields = getTableColumns(source);
|
26150
26030
|
}
|
26151
|
-
return new PgSelectBase({
|
26031
|
+
return this.authToken === void 0 ? new PgSelectBase({
|
26152
26032
|
table: source,
|
26153
26033
|
fields,
|
26154
26034
|
isPartialSelect,
|
@@ -26156,11 +26036,19 @@ var init_select2 = __esm({
|
|
26156
26036
|
dialect: this.dialect,
|
26157
26037
|
withList: this.withList,
|
26158
26038
|
distinct: this.distinct
|
26159
|
-
})
|
26039
|
+
}) : new PgSelectBase({
|
26040
|
+
table: source,
|
26041
|
+
fields,
|
26042
|
+
isPartialSelect,
|
26043
|
+
session: this.session,
|
26044
|
+
dialect: this.dialect,
|
26045
|
+
withList: this.withList,
|
26046
|
+
distinct: this.distinct
|
26047
|
+
}).setToken(this.authToken);
|
26160
26048
|
}
|
26161
26049
|
};
|
26162
|
-
__publicField(PgSelectBuilder,
|
26163
|
-
PgSelectQueryBuilderBase = class extends (
|
26050
|
+
__publicField(PgSelectBuilder, _a130, "PgSelectBuilder");
|
26051
|
+
PgSelectQueryBuilderBase = class extends (_b99 = TypedQueryBuilder, _a131 = entityKind, _b99) {
|
26164
26052
|
constructor({ table: table4, fields, isPartialSelect, session, dialect: dialect4, withList, distinct }) {
|
26165
26053
|
super();
|
26166
26054
|
__publicField(this, "_");
|
@@ -26760,19 +26648,20 @@ var init_select2 = __esm({
|
|
26760
26648
|
return this;
|
26761
26649
|
}
|
26762
26650
|
};
|
26763
|
-
__publicField(PgSelectQueryBuilderBase,
|
26764
|
-
PgSelectBase = class extends (
|
26651
|
+
__publicField(PgSelectQueryBuilderBase, _a131, "PgSelectQueryBuilder");
|
26652
|
+
PgSelectBase = class extends (_b100 = PgSelectQueryBuilderBase, _a132 = entityKind, _b100) {
|
26765
26653
|
constructor() {
|
26766
26654
|
super(...arguments);
|
26655
|
+
__publicField(this, "authToken");
|
26767
26656
|
__publicField(this, "execute", (placeholderValues) => {
|
26768
26657
|
return tracer.startActiveSpan("drizzle.operation", () => {
|
26769
|
-
return this._prepare().execute(placeholderValues);
|
26658
|
+
return this._prepare().execute(placeholderValues, this.authToken);
|
26770
26659
|
});
|
26771
26660
|
});
|
26772
26661
|
}
|
26773
26662
|
/** @internal */
|
26774
26663
|
_prepare(name2) {
|
26775
|
-
const { session, config, dialect: dialect4, joinsNotNullableMap } = this;
|
26664
|
+
const { session, config, dialect: dialect4, joinsNotNullableMap, authToken } = this;
|
26776
26665
|
if (!session) {
|
26777
26666
|
throw new Error("Cannot execute a query on a query builder. Please use a database instance instead.");
|
26778
26667
|
}
|
@@ -26780,7 +26669,7 @@ var init_select2 = __esm({
|
|
26780
26669
|
const fieldsList = orderSelectedFields(config.fields);
|
26781
26670
|
const query = session.prepareQuery(dialect4.sqlToQuery(this.getSQL()), fieldsList, name2, true);
|
26782
26671
|
query.joinsNotNullableMap = joinsNotNullableMap;
|
26783
|
-
return query;
|
26672
|
+
return authToken === void 0 ? query : query.setToken(authToken);
|
26784
26673
|
});
|
26785
26674
|
}
|
26786
26675
|
/**
|
@@ -26793,8 +26682,13 @@ var init_select2 = __esm({
|
|
26793
26682
|
prepare(name2) {
|
26794
26683
|
return this._prepare(name2);
|
26795
26684
|
}
|
26685
|
+
/** @internal */
|
26686
|
+
setToken(token) {
|
26687
|
+
this.authToken = token;
|
26688
|
+
return this;
|
26689
|
+
}
|
26796
26690
|
};
|
26797
|
-
__publicField(PgSelectBase,
|
26691
|
+
__publicField(PgSelectBase, _a132, "PgSelect");
|
26798
26692
|
applyMixins(PgSelectBase, [QueryPromise]);
|
26799
26693
|
getPgSetOperators = () => ({
|
26800
26694
|
union,
|
@@ -26814,7 +26708,7 @@ var init_select2 = __esm({
|
|
26814
26708
|
});
|
26815
26709
|
|
26816
26710
|
// ../drizzle-orm/dist/pg-core/query-builders/query-builder.js
|
26817
|
-
var
|
26711
|
+
var _a133, QueryBuilder;
|
26818
26712
|
var init_query_builder2 = __esm({
|
26819
26713
|
"../drizzle-orm/dist/pg-core/query-builders/query-builder.js"() {
|
26820
26714
|
"use strict";
|
@@ -26823,7 +26717,7 @@ var init_query_builder2 = __esm({
|
|
26823
26717
|
init_selection_proxy();
|
26824
26718
|
init_subquery();
|
26825
26719
|
init_select2();
|
26826
|
-
|
26720
|
+
_a133 = entityKind;
|
26827
26721
|
QueryBuilder = class {
|
26828
26722
|
constructor(dialect4) {
|
26829
26723
|
__publicField(this, "dialect");
|
@@ -26904,32 +26798,232 @@ var init_query_builder2 = __esm({
|
|
26904
26798
|
return this.dialect;
|
26905
26799
|
}
|
26906
26800
|
};
|
26907
|
-
__publicField(QueryBuilder,
|
26801
|
+
__publicField(QueryBuilder, _a133, "PgQueryBuilder");
|
26908
26802
|
}
|
26909
26803
|
});
|
26910
26804
|
|
26911
|
-
// ../drizzle-orm/dist/pg-core/query-builders/
|
26912
|
-
var
|
26913
|
-
var
|
26914
|
-
"../drizzle-orm/dist/pg-core/query-builders/
|
26805
|
+
// ../drizzle-orm/dist/pg-core/query-builders/insert.js
|
26806
|
+
var _a134, PgInsertBuilder, _a135, _b101, PgInsertBase;
|
26807
|
+
var init_insert = __esm({
|
26808
|
+
"../drizzle-orm/dist/pg-core/query-builders/insert.js"() {
|
26915
26809
|
"use strict";
|
26916
26810
|
init_entity();
|
26917
26811
|
init_query_promise();
|
26812
|
+
init_sql();
|
26813
|
+
init_table();
|
26918
26814
|
init_tracing();
|
26919
|
-
|
26920
|
-
|
26921
|
-
|
26922
|
-
|
26923
|
-
|
26924
|
-
|
26925
|
-
|
26926
|
-
});
|
26927
|
-
});
|
26815
|
+
init_utils2();
|
26816
|
+
init_query_builder2();
|
26817
|
+
_a134 = entityKind;
|
26818
|
+
PgInsertBuilder = class {
|
26819
|
+
constructor(table4, session, dialect4, withList, overridingSystemValue_) {
|
26820
|
+
__publicField(this, "authToken");
|
26821
|
+
this.table = table4;
|
26928
26822
|
this.session = session;
|
26929
26823
|
this.dialect = dialect4;
|
26930
|
-
this.
|
26824
|
+
this.withList = withList;
|
26825
|
+
this.overridingSystemValue_ = overridingSystemValue_;
|
26931
26826
|
}
|
26932
|
-
|
26827
|
+
/** @internal */
|
26828
|
+
setToken(token) {
|
26829
|
+
this.authToken = token;
|
26830
|
+
return this;
|
26831
|
+
}
|
26832
|
+
overridingSystemValue() {
|
26833
|
+
this.overridingSystemValue_ = true;
|
26834
|
+
return this;
|
26835
|
+
}
|
26836
|
+
values(values) {
|
26837
|
+
values = Array.isArray(values) ? values : [values];
|
26838
|
+
if (values.length === 0) {
|
26839
|
+
throw new Error("values() must be called with at least one value");
|
26840
|
+
}
|
26841
|
+
const mappedValues = values.map((entry) => {
|
26842
|
+
const result = {};
|
26843
|
+
const cols = this.table[Table2.Symbol.Columns];
|
26844
|
+
for (const colKey of Object.keys(entry)) {
|
26845
|
+
const colValue = entry[colKey];
|
26846
|
+
result[colKey] = is(colValue, SQL) ? colValue : new Param(colValue, cols[colKey]);
|
26847
|
+
}
|
26848
|
+
return result;
|
26849
|
+
});
|
26850
|
+
return this.authToken === void 0 ? new PgInsertBase(
|
26851
|
+
this.table,
|
26852
|
+
mappedValues,
|
26853
|
+
this.session,
|
26854
|
+
this.dialect,
|
26855
|
+
this.withList,
|
26856
|
+
false,
|
26857
|
+
this.overridingSystemValue_
|
26858
|
+
) : new PgInsertBase(
|
26859
|
+
this.table,
|
26860
|
+
mappedValues,
|
26861
|
+
this.session,
|
26862
|
+
this.dialect,
|
26863
|
+
this.withList,
|
26864
|
+
false,
|
26865
|
+
this.overridingSystemValue_
|
26866
|
+
).setToken(this.authToken);
|
26867
|
+
}
|
26868
|
+
select(selectQuery) {
|
26869
|
+
const select = typeof selectQuery === "function" ? selectQuery(new QueryBuilder()) : selectQuery;
|
26870
|
+
if (!is(select, SQL) && !haveSameKeys(this.table[Columns], select._.selectedFields)) {
|
26871
|
+
throw new Error(
|
26872
|
+
"Insert select error: selected fields are not the same or are in a different order compared to the table definition"
|
26873
|
+
);
|
26874
|
+
}
|
26875
|
+
return new PgInsertBase(this.table, select, this.session, this.dialect, this.withList, true);
|
26876
|
+
}
|
26877
|
+
};
|
26878
|
+
__publicField(PgInsertBuilder, _a134, "PgInsertBuilder");
|
26879
|
+
PgInsertBase = class extends (_b101 = QueryPromise, _a135 = entityKind, _b101) {
|
26880
|
+
constructor(table4, values, session, dialect4, withList, select, overridingSystemValue_) {
|
26881
|
+
super();
|
26882
|
+
__publicField(this, "config");
|
26883
|
+
__publicField(this, "authToken");
|
26884
|
+
__publicField(this, "execute", (placeholderValues) => {
|
26885
|
+
return tracer.startActiveSpan("drizzle.operation", () => {
|
26886
|
+
return this._prepare().execute(placeholderValues, this.authToken);
|
26887
|
+
});
|
26888
|
+
});
|
26889
|
+
this.session = session;
|
26890
|
+
this.dialect = dialect4;
|
26891
|
+
this.config = { table: table4, values, withList, select, overridingSystemValue_ };
|
26892
|
+
}
|
26893
|
+
returning(fields = this.config.table[Table2.Symbol.Columns]) {
|
26894
|
+
this.config.returning = orderSelectedFields(fields);
|
26895
|
+
return this;
|
26896
|
+
}
|
26897
|
+
/**
|
26898
|
+
* Adds an `on conflict do nothing` clause to the query.
|
26899
|
+
*
|
26900
|
+
* Calling this method simply avoids inserting a row as its alternative action.
|
26901
|
+
*
|
26902
|
+
* See docs: {@link https://orm.drizzle.team/docs/insert#on-conflict-do-nothing}
|
26903
|
+
*
|
26904
|
+
* @param config The `target` and `where` clauses.
|
26905
|
+
*
|
26906
|
+
* @example
|
26907
|
+
* ```ts
|
26908
|
+
* // Insert one row and cancel the insert if there's a conflict
|
26909
|
+
* await db.insert(cars)
|
26910
|
+
* .values({ id: 1, brand: 'BMW' })
|
26911
|
+
* .onConflictDoNothing();
|
26912
|
+
*
|
26913
|
+
* // Explicitly specify conflict target
|
26914
|
+
* await db.insert(cars)
|
26915
|
+
* .values({ id: 1, brand: 'BMW' })
|
26916
|
+
* .onConflictDoNothing({ target: cars.id });
|
26917
|
+
* ```
|
26918
|
+
*/
|
26919
|
+
onConflictDoNothing(config = {}) {
|
26920
|
+
if (config.target === void 0) {
|
26921
|
+
this.config.onConflict = sql`do nothing`;
|
26922
|
+
} else {
|
26923
|
+
let targetColumn = "";
|
26924
|
+
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));
|
26925
|
+
const whereSql = config.where ? sql` where ${config.where}` : void 0;
|
26926
|
+
this.config.onConflict = sql`(${sql.raw(targetColumn)})${whereSql} do nothing`;
|
26927
|
+
}
|
26928
|
+
return this;
|
26929
|
+
}
|
26930
|
+
/**
|
26931
|
+
* Adds an `on conflict do update` clause to the query.
|
26932
|
+
*
|
26933
|
+
* Calling this method will update the existing row that conflicts with the row proposed for insertion as its alternative action.
|
26934
|
+
*
|
26935
|
+
* See docs: {@link https://orm.drizzle.team/docs/insert#upserts-and-conflicts}
|
26936
|
+
*
|
26937
|
+
* @param config The `target`, `set` and `where` clauses.
|
26938
|
+
*
|
26939
|
+
* @example
|
26940
|
+
* ```ts
|
26941
|
+
* // Update the row if there's a conflict
|
26942
|
+
* await db.insert(cars)
|
26943
|
+
* .values({ id: 1, brand: 'BMW' })
|
26944
|
+
* .onConflictDoUpdate({
|
26945
|
+
* target: cars.id,
|
26946
|
+
* set: { brand: 'Porsche' }
|
26947
|
+
* });
|
26948
|
+
*
|
26949
|
+
* // Upsert with 'where' clause
|
26950
|
+
* await db.insert(cars)
|
26951
|
+
* .values({ id: 1, brand: 'BMW' })
|
26952
|
+
* .onConflictDoUpdate({
|
26953
|
+
* target: cars.id,
|
26954
|
+
* set: { brand: 'newBMW' },
|
26955
|
+
* targetWhere: sql`${cars.createdAt} > '2023-01-01'::date`,
|
26956
|
+
* });
|
26957
|
+
* ```
|
26958
|
+
*/
|
26959
|
+
onConflictDoUpdate(config) {
|
26960
|
+
if (config.where && (config.targetWhere || config.setWhere)) {
|
26961
|
+
throw new Error(
|
26962
|
+
'You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.'
|
26963
|
+
);
|
26964
|
+
}
|
26965
|
+
const whereSql = config.where ? sql` where ${config.where}` : void 0;
|
26966
|
+
const targetWhereSql = config.targetWhere ? sql` where ${config.targetWhere}` : void 0;
|
26967
|
+
const setWhereSql = config.setWhere ? sql` where ${config.setWhere}` : void 0;
|
26968
|
+
const setSql = this.dialect.buildUpdateSet(this.config.table, mapUpdateSet(this.config.table, config.set));
|
26969
|
+
let targetColumn = "";
|
26970
|
+
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));
|
26971
|
+
this.config.onConflict = sql`(${sql.raw(targetColumn)})${targetWhereSql} do update set ${setSql}${whereSql}${setWhereSql}`;
|
26972
|
+
return this;
|
26973
|
+
}
|
26974
|
+
/** @internal */
|
26975
|
+
getSQL() {
|
26976
|
+
return this.dialect.buildInsertQuery(this.config);
|
26977
|
+
}
|
26978
|
+
toSQL() {
|
26979
|
+
const { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());
|
26980
|
+
return rest;
|
26981
|
+
}
|
26982
|
+
/** @internal */
|
26983
|
+
_prepare(name2) {
|
26984
|
+
return tracer.startActiveSpan("drizzle.prepareQuery", () => {
|
26985
|
+
return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()), this.config.returning, name2, true);
|
26986
|
+
});
|
26987
|
+
}
|
26988
|
+
prepare(name2) {
|
26989
|
+
return this._prepare(name2);
|
26990
|
+
}
|
26991
|
+
/** @internal */
|
26992
|
+
setToken(token) {
|
26993
|
+
this.authToken = token;
|
26994
|
+
return this;
|
26995
|
+
}
|
26996
|
+
$dynamic() {
|
26997
|
+
return this;
|
26998
|
+
}
|
26999
|
+
};
|
27000
|
+
__publicField(PgInsertBase, _a135, "PgInsert");
|
27001
|
+
}
|
27002
|
+
});
|
27003
|
+
|
27004
|
+
// ../drizzle-orm/dist/pg-core/query-builders/refresh-materialized-view.js
|
27005
|
+
var _a136, _b102, PgRefreshMaterializedView;
|
27006
|
+
var init_refresh_materialized_view = __esm({
|
27007
|
+
"../drizzle-orm/dist/pg-core/query-builders/refresh-materialized-view.js"() {
|
27008
|
+
"use strict";
|
27009
|
+
init_entity();
|
27010
|
+
init_query_promise();
|
27011
|
+
init_tracing();
|
27012
|
+
PgRefreshMaterializedView = class extends (_b102 = QueryPromise, _a136 = entityKind, _b102) {
|
27013
|
+
constructor(view4, session, dialect4) {
|
27014
|
+
super();
|
27015
|
+
__publicField(this, "config");
|
27016
|
+
__publicField(this, "authToken");
|
27017
|
+
__publicField(this, "execute", (placeholderValues) => {
|
27018
|
+
return tracer.startActiveSpan("drizzle.operation", () => {
|
27019
|
+
return this._prepare().execute(placeholderValues, this.authToken);
|
27020
|
+
});
|
27021
|
+
});
|
27022
|
+
this.session = session;
|
27023
|
+
this.dialect = dialect4;
|
27024
|
+
this.config = { view: view4 };
|
27025
|
+
}
|
27026
|
+
concurrently() {
|
26933
27027
|
if (this.config.withNoData !== void 0) {
|
26934
27028
|
throw new Error("Cannot use concurrently and withNoData together");
|
26935
27029
|
}
|
@@ -26960,6 +27054,11 @@ var init_refresh_materialized_view = __esm({
|
|
26960
27054
|
prepare(name2) {
|
26961
27055
|
return this._prepare(name2);
|
26962
27056
|
}
|
27057
|
+
/** @internal */
|
27058
|
+
setToken(token) {
|
27059
|
+
this.authToken = token;
|
27060
|
+
return this;
|
27061
|
+
}
|
26963
27062
|
};
|
26964
27063
|
__publicField(PgRefreshMaterializedView, _a136, "PgRefreshMaterializedView");
|
26965
27064
|
}
|
@@ -26978,25 +27077,41 @@ var init_update = __esm({
|
|
26978
27077
|
"../drizzle-orm/dist/pg-core/query-builders/update.js"() {
|
26979
27078
|
"use strict";
|
26980
27079
|
init_entity();
|
27080
|
+
init_table2();
|
26981
27081
|
init_query_promise();
|
27082
|
+
init_selection_proxy();
|
27083
|
+
init_sql();
|
27084
|
+
init_subquery();
|
26982
27085
|
init_table();
|
26983
27086
|
init_utils2();
|
27087
|
+
init_view_common();
|
26984
27088
|
_a137 = entityKind;
|
26985
27089
|
PgUpdateBuilder = class {
|
26986
27090
|
constructor(table4, session, dialect4, withList) {
|
27091
|
+
__publicField(this, "authToken");
|
26987
27092
|
this.table = table4;
|
26988
27093
|
this.session = session;
|
26989
27094
|
this.dialect = dialect4;
|
26990
27095
|
this.withList = withList;
|
26991
27096
|
}
|
27097
|
+
setToken(token) {
|
27098
|
+
this.authToken = token;
|
27099
|
+
return this;
|
27100
|
+
}
|
26992
27101
|
set(values) {
|
26993
|
-
return new PgUpdateBase(
|
27102
|
+
return this.authToken === void 0 ? new PgUpdateBase(
|
26994
27103
|
this.table,
|
26995
27104
|
mapUpdateSet(this.table, values),
|
26996
27105
|
this.session,
|
26997
27106
|
this.dialect,
|
26998
27107
|
this.withList
|
26999
|
-
)
|
27108
|
+
) : new PgUpdateBase(
|
27109
|
+
this.table,
|
27110
|
+
mapUpdateSet(this.table, values),
|
27111
|
+
this.session,
|
27112
|
+
this.dialect,
|
27113
|
+
this.withList
|
27114
|
+
).setToken(this.authToken);
|
27000
27115
|
}
|
27001
27116
|
};
|
27002
27117
|
__publicField(PgUpdateBuilder, _a137, "PgUpdateBuilder");
|
@@ -27004,12 +27119,86 @@ var init_update = __esm({
|
|
27004
27119
|
constructor(table4, set, session, dialect4, withList) {
|
27005
27120
|
super();
|
27006
27121
|
__publicField(this, "config");
|
27122
|
+
__publicField(this, "tableName");
|
27123
|
+
__publicField(this, "joinsNotNullableMap");
|
27124
|
+
__publicField(this, "leftJoin", this.createJoin("left"));
|
27125
|
+
__publicField(this, "rightJoin", this.createJoin("right"));
|
27126
|
+
__publicField(this, "innerJoin", this.createJoin("inner"));
|
27127
|
+
__publicField(this, "fullJoin", this.createJoin("full"));
|
27128
|
+
__publicField(this, "authToken");
|
27007
27129
|
__publicField(this, "execute", (placeholderValues) => {
|
27008
|
-
return this._prepare().execute(placeholderValues);
|
27130
|
+
return this._prepare().execute(placeholderValues, this.authToken);
|
27009
27131
|
});
|
27010
27132
|
this.session = session;
|
27011
27133
|
this.dialect = dialect4;
|
27012
|
-
this.config = { set, table: table4, withList };
|
27134
|
+
this.config = { set, table: table4, withList, joins: [] };
|
27135
|
+
this.tableName = getTableLikeName(table4);
|
27136
|
+
this.joinsNotNullableMap = typeof this.tableName === "string" ? { [this.tableName]: true } : {};
|
27137
|
+
}
|
27138
|
+
from(source) {
|
27139
|
+
const tableName = getTableLikeName(source);
|
27140
|
+
if (typeof tableName === "string") {
|
27141
|
+
this.joinsNotNullableMap[tableName] = true;
|
27142
|
+
}
|
27143
|
+
this.config.from = source;
|
27144
|
+
return this;
|
27145
|
+
}
|
27146
|
+
getTableLikeFields(table4) {
|
27147
|
+
if (is(table4, PgTable)) {
|
27148
|
+
return table4[Table2.Symbol.Columns];
|
27149
|
+
} else if (is(table4, Subquery)) {
|
27150
|
+
return table4._.selectedFields;
|
27151
|
+
}
|
27152
|
+
return table4[ViewBaseConfig].selectedFields;
|
27153
|
+
}
|
27154
|
+
createJoin(joinType) {
|
27155
|
+
return (table4, on) => {
|
27156
|
+
const tableName = getTableLikeName(table4);
|
27157
|
+
if (typeof tableName === "string" && this.config.joins.some((join) => join.alias === tableName)) {
|
27158
|
+
throw new Error(`Alias "${tableName}" is already used in this query`);
|
27159
|
+
}
|
27160
|
+
if (typeof on === "function") {
|
27161
|
+
const from = this.config.from && !is(this.config.from, SQL) ? this.getTableLikeFields(this.config.from) : void 0;
|
27162
|
+
on = on(
|
27163
|
+
new Proxy(
|
27164
|
+
this.config.table[Table2.Symbol.Columns],
|
27165
|
+
new SelectionProxyHandler({ sqlAliasedBehavior: "sql", sqlBehavior: "sql" })
|
27166
|
+
),
|
27167
|
+
from && new Proxy(
|
27168
|
+
from,
|
27169
|
+
new SelectionProxyHandler({ sqlAliasedBehavior: "sql", sqlBehavior: "sql" })
|
27170
|
+
)
|
27171
|
+
);
|
27172
|
+
}
|
27173
|
+
this.config.joins.push({ on, table: table4, joinType, alias: tableName });
|
27174
|
+
if (typeof tableName === "string") {
|
27175
|
+
switch (joinType) {
|
27176
|
+
case "left": {
|
27177
|
+
this.joinsNotNullableMap[tableName] = false;
|
27178
|
+
break;
|
27179
|
+
}
|
27180
|
+
case "right": {
|
27181
|
+
this.joinsNotNullableMap = Object.fromEntries(
|
27182
|
+
Object.entries(this.joinsNotNullableMap).map(([key]) => [key, false])
|
27183
|
+
);
|
27184
|
+
this.joinsNotNullableMap[tableName] = true;
|
27185
|
+
break;
|
27186
|
+
}
|
27187
|
+
case "inner": {
|
27188
|
+
this.joinsNotNullableMap[tableName] = true;
|
27189
|
+
break;
|
27190
|
+
}
|
27191
|
+
case "full": {
|
27192
|
+
this.joinsNotNullableMap = Object.fromEntries(
|
27193
|
+
Object.entries(this.joinsNotNullableMap).map(([key]) => [key, false])
|
27194
|
+
);
|
27195
|
+
this.joinsNotNullableMap[tableName] = false;
|
27196
|
+
break;
|
27197
|
+
}
|
27198
|
+
}
|
27199
|
+
}
|
27200
|
+
return this;
|
27201
|
+
};
|
27013
27202
|
}
|
27014
27203
|
/**
|
27015
27204
|
* Adds a 'where' clause to the query.
|
@@ -27048,7 +27237,24 @@ var init_update = __esm({
|
|
27048
27237
|
this.config.where = where;
|
27049
27238
|
return this;
|
27050
27239
|
}
|
27051
|
-
returning(fields
|
27240
|
+
returning(fields) {
|
27241
|
+
if (!fields) {
|
27242
|
+
fields = Object.assign({}, this.config.table[Table2.Symbol.Columns]);
|
27243
|
+
if (this.config.from) {
|
27244
|
+
const tableName = getTableLikeName(this.config.from);
|
27245
|
+
if (typeof tableName === "string" && this.config.from && !is(this.config.from, SQL)) {
|
27246
|
+
const fromFields = this.getTableLikeFields(this.config.from);
|
27247
|
+
fields[tableName] = fromFields;
|
27248
|
+
}
|
27249
|
+
for (const join of this.config.joins) {
|
27250
|
+
const tableName2 = getTableLikeName(join.table);
|
27251
|
+
if (typeof tableName2 === "string" && !is(join.table, SQL)) {
|
27252
|
+
const fromFields = this.getTableLikeFields(join.table);
|
27253
|
+
fields[tableName2] = fromFields;
|
27254
|
+
}
|
27255
|
+
}
|
27256
|
+
}
|
27257
|
+
}
|
27052
27258
|
this.config.returning = orderSelectedFields(fields);
|
27053
27259
|
return this;
|
27054
27260
|
}
|
@@ -27062,11 +27268,18 @@ var init_update = __esm({
|
|
27062
27268
|
}
|
27063
27269
|
/** @internal */
|
27064
27270
|
_prepare(name2) {
|
27065
|
-
|
27271
|
+
const query = this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()), this.config.returning, name2, true);
|
27272
|
+
query.joinsNotNullableMap = this.joinsNotNullableMap;
|
27273
|
+
return query;
|
27066
27274
|
}
|
27067
27275
|
prepare(name2) {
|
27068
27276
|
return this._prepare(name2);
|
27069
27277
|
}
|
27278
|
+
/** @internal */
|
27279
|
+
setToken(token) {
|
27280
|
+
this.authToken = token;
|
27281
|
+
return this;
|
27282
|
+
}
|
27070
27283
|
$dynamic() {
|
27071
27284
|
return this;
|
27072
27285
|
}
|
@@ -27100,6 +27313,7 @@ var init_count = __esm({
|
|
27100
27313
|
constructor(params) {
|
27101
27314
|
super(_PgCountBuilder.buildEmbeddedCount(params.source, params.filters).queryChunks);
|
27102
27315
|
__publicField(this, "sql");
|
27316
|
+
__publicField(this, "token");
|
27103
27317
|
__publicField(this, _a139, "PgCountBuilder");
|
27104
27318
|
__publicField(this, "session");
|
27105
27319
|
this.params = params;
|
@@ -27116,8 +27330,12 @@ var init_count = __esm({
|
|
27116
27330
|
static buildCount(source, filters) {
|
27117
27331
|
return sql`select count(*) as count from ${source}${sql.raw(" where ").if(filters)}${filters};`;
|
27118
27332
|
}
|
27333
|
+
/** @intrnal */
|
27334
|
+
setToken(token) {
|
27335
|
+
this.token = token;
|
27336
|
+
}
|
27119
27337
|
then(onfulfilled, onrejected) {
|
27120
|
-
return Promise.resolve(this.session.count(this.sql)).then(
|
27338
|
+
return Promise.resolve(this.session.count(this.sql, this.token)).then(
|
27121
27339
|
onfulfilled,
|
27122
27340
|
onrejected
|
27123
27341
|
);
|
@@ -27194,6 +27412,7 @@ var init_query = __esm({
|
|
27194
27412
|
PgRelationalQuery = class extends (_b105 = QueryPromise, _a141 = entityKind, _b105) {
|
27195
27413
|
constructor(fullSchema, schema4, tableNamesMap, table4, tableConfig, dialect4, session, config, mode) {
|
27196
27414
|
super();
|
27415
|
+
__publicField(this, "authToken");
|
27197
27416
|
this.fullSchema = fullSchema;
|
27198
27417
|
this.schema = schema4;
|
27199
27418
|
this.tableNamesMap = tableNamesMap;
|
@@ -27251,9 +27470,14 @@ var init_query = __esm({
|
|
27251
27470
|
toSQL() {
|
27252
27471
|
return this._toSQL().builtQuery;
|
27253
27472
|
}
|
27473
|
+
/** @internal */
|
27474
|
+
setToken(token) {
|
27475
|
+
this.authToken = token;
|
27476
|
+
return this;
|
27477
|
+
}
|
27254
27478
|
execute() {
|
27255
27479
|
return tracer.startActiveSpan("drizzle.operation", () => {
|
27256
|
-
return this._prepare().execute();
|
27480
|
+
return this._prepare().execute(void 0, this.authToken);
|
27257
27481
|
});
|
27258
27482
|
}
|
27259
27483
|
};
|
@@ -27316,6 +27540,7 @@ var init_db = __esm({
|
|
27316
27540
|
PgDatabase = class {
|
27317
27541
|
constructor(dialect4, session, schema4) {
|
27318
27542
|
__publicField(this, "query");
|
27543
|
+
__publicField(this, "authToken");
|
27319
27544
|
this.dialect = dialect4;
|
27320
27545
|
this.session = session;
|
27321
27546
|
this._ = schema4 ? {
|
@@ -27571,7 +27796,7 @@ var init_db = __esm({
|
|
27571
27796
|
false
|
27572
27797
|
);
|
27573
27798
|
return new PgRaw(
|
27574
|
-
() => prepared.execute(),
|
27799
|
+
() => prepared.execute(void 0, this.authToken),
|
27575
27800
|
sequel,
|
27576
27801
|
builtQuery,
|
27577
27802
|
(result) => prepared.mapResult(result, true)
|
@@ -28116,6 +28341,7 @@ var init_session = __esm({
|
|
28116
28341
|
_a159 = entityKind;
|
28117
28342
|
PgPreparedQuery = class {
|
28118
28343
|
constructor(query) {
|
28344
|
+
__publicField(this, "authToken");
|
28119
28345
|
/** @internal */
|
28120
28346
|
__publicField(this, "joinsNotNullableMap");
|
28121
28347
|
this.query = query;
|
@@ -28126,6 +28352,11 @@ var init_session = __esm({
|
|
28126
28352
|
mapResult(response, _isFromBatch) {
|
28127
28353
|
return response;
|
28128
28354
|
}
|
28355
|
+
/** @internal */
|
28356
|
+
setToken(token) {
|
28357
|
+
this.authToken = token;
|
28358
|
+
return this;
|
28359
|
+
}
|
28129
28360
|
};
|
28130
28361
|
__publicField(PgPreparedQuery, _a159, "PgPreparedQuery");
|
28131
28362
|
_a160 = entityKind;
|
@@ -28133,7 +28364,8 @@ var init_session = __esm({
|
|
28133
28364
|
constructor(dialect4) {
|
28134
28365
|
this.dialect = dialect4;
|
28135
28366
|
}
|
28136
|
-
|
28367
|
+
/** @internal */
|
28368
|
+
execute(query, token) {
|
28137
28369
|
return tracer.startActiveSpan("drizzle.operation", () => {
|
28138
28370
|
const prepared = tracer.startActiveSpan("drizzle.prepareQuery", () => {
|
28139
28371
|
return this.prepareQuery(
|
@@ -28143,7 +28375,7 @@ var init_session = __esm({
|
|
28143
28375
|
false
|
28144
28376
|
);
|
28145
28377
|
});
|
28146
|
-
return prepared.execute();
|
28378
|
+
return prepared.setToken(token).execute(void 0, token);
|
28147
28379
|
});
|
28148
28380
|
}
|
28149
28381
|
all(query) {
|
@@ -28154,8 +28386,9 @@ var init_session = __esm({
|
|
28154
28386
|
false
|
28155
28387
|
).all();
|
28156
28388
|
}
|
28157
|
-
|
28158
|
-
|
28389
|
+
/** @internal */
|
28390
|
+
async count(sql2, token) {
|
28391
|
+
const res = await this.execute(sql2, token);
|
28159
28392
|
return Number(
|
28160
28393
|
res[0]["count"]
|
28161
28394
|
);
|
@@ -30812,200 +31045,32 @@ var init_delete2 = __esm({
|
|
30812
31045
|
prepare() {
|
30813
31046
|
return this._prepare(false);
|
30814
31047
|
}
|
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
|
-
}
|
31048
|
+
async execute(placeholderValues) {
|
31049
|
+
return this._prepare().execute(placeholderValues);
|
31050
|
+
}
|
30986
31051
|
$dynamic() {
|
30987
31052
|
return this;
|
30988
31053
|
}
|
30989
31054
|
};
|
30990
|
-
__publicField(
|
31055
|
+
__publicField(SQLiteDeleteBase, _a196, "SQLiteDelete");
|
30991
31056
|
}
|
30992
31057
|
});
|
30993
31058
|
|
30994
31059
|
// ../drizzle-orm/dist/sqlite-core/view-base.js
|
30995
|
-
var
|
31060
|
+
var _a197, _b142, SQLiteViewBase;
|
30996
31061
|
var init_view_base2 = __esm({
|
30997
31062
|
"../drizzle-orm/dist/sqlite-core/view-base.js"() {
|
30998
31063
|
"use strict";
|
30999
31064
|
init_entity();
|
31000
31065
|
init_sql();
|
31001
|
-
SQLiteViewBase = class extends (
|
31066
|
+
SQLiteViewBase = class extends (_b142 = View3, _a197 = entityKind, _b142) {
|
31002
31067
|
};
|
31003
|
-
__publicField(SQLiteViewBase,
|
31068
|
+
__publicField(SQLiteViewBase, _a197, "SQLiteViewBase");
|
31004
31069
|
}
|
31005
31070
|
});
|
31006
31071
|
|
31007
31072
|
// ../drizzle-orm/dist/sqlite-core/dialect.js
|
31008
|
-
var
|
31073
|
+
var _a198, SQLiteDialect, _a199, _b143, SQLiteSyncDialect, _a200, _b144, SQLiteAsyncDialect;
|
31009
31074
|
var init_dialect2 = __esm({
|
31010
31075
|
"../drizzle-orm/dist/sqlite-core/dialect.js"() {
|
31011
31076
|
"use strict";
|
@@ -31024,7 +31089,7 @@ var init_dialect2 = __esm({
|
|
31024
31089
|
init_utils2();
|
31025
31090
|
init_view_common();
|
31026
31091
|
init_view_base2();
|
31027
|
-
|
31092
|
+
_a198 = entityKind;
|
31028
31093
|
SQLiteDialect = class {
|
31029
31094
|
constructor(config) {
|
31030
31095
|
/** @internal */
|
@@ -31077,14 +31142,16 @@ var init_dialect2 = __esm({
|
|
31077
31142
|
return [res];
|
31078
31143
|
}));
|
31079
31144
|
}
|
31080
|
-
buildUpdateQuery({ table: table4, set, where, returning, withList, limit, orderBy }) {
|
31145
|
+
buildUpdateQuery({ table: table4, set, where, returning, withList, joins, from, limit, orderBy }) {
|
31081
31146
|
const withSql = this.buildWithCTE(withList);
|
31082
31147
|
const setSql = this.buildUpdateSet(table4, set);
|
31148
|
+
const fromSql = from && sql.join([sql.raw(" from "), this.buildFromTable(from)]);
|
31149
|
+
const joinsSql = this.buildJoins(joins);
|
31083
31150
|
const returningSql = returning ? sql` returning ${this.buildSelection(returning, { isSingleTable: true })}` : void 0;
|
31084
31151
|
const whereSql = where ? sql` where ${where}` : void 0;
|
31085
31152
|
const orderBySql = this.buildOrderBy(orderBy);
|
31086
31153
|
const limitSql = this.buildLimit(limit);
|
31087
|
-
return sql`${withSql}update ${table4} set ${setSql}${whereSql}${returningSql}${orderBySql}${limitSql}`;
|
31154
|
+
return sql`${withSql}update ${table4} set ${setSql}${fromSql}${joinsSql}${whereSql}${returningSql}${orderBySql}${limitSql}`;
|
31088
31155
|
}
|
31089
31156
|
/**
|
31090
31157
|
* Builds selection SQL with provided fields/expressions
|
@@ -31137,6 +31204,37 @@ var init_dialect2 = __esm({
|
|
31137
31204
|
});
|
31138
31205
|
return sql.join(chunks);
|
31139
31206
|
}
|
31207
|
+
buildJoins(joins) {
|
31208
|
+
if (!joins || joins.length === 0) {
|
31209
|
+
return void 0;
|
31210
|
+
}
|
31211
|
+
const joinsArray = [];
|
31212
|
+
if (joins) {
|
31213
|
+
for (const [index4, joinMeta] of joins.entries()) {
|
31214
|
+
if (index4 === 0) {
|
31215
|
+
joinsArray.push(sql` `);
|
31216
|
+
}
|
31217
|
+
const table4 = joinMeta.table;
|
31218
|
+
if (is(table4, SQLiteTable)) {
|
31219
|
+
const tableName = table4[SQLiteTable.Symbol.Name];
|
31220
|
+
const tableSchema = table4[SQLiteTable.Symbol.Schema];
|
31221
|
+
const origTableName = table4[SQLiteTable.Symbol.OriginalName];
|
31222
|
+
const alias = tableName === origTableName ? void 0 : joinMeta.alias;
|
31223
|
+
joinsArray.push(
|
31224
|
+
sql`${sql.raw(joinMeta.joinType)} join ${tableSchema ? sql`${sql.identifier(tableSchema)}.` : void 0}${sql.identifier(origTableName)}${alias && sql` ${sql.identifier(alias)}`} on ${joinMeta.on}`
|
31225
|
+
);
|
31226
|
+
} else {
|
31227
|
+
joinsArray.push(
|
31228
|
+
sql`${sql.raw(joinMeta.joinType)} join ${table4} on ${joinMeta.on}`
|
31229
|
+
);
|
31230
|
+
}
|
31231
|
+
if (index4 < joins.length - 1) {
|
31232
|
+
joinsArray.push(sql` `);
|
31233
|
+
}
|
31234
|
+
}
|
31235
|
+
}
|
31236
|
+
return sql.join(joinsArray);
|
31237
|
+
}
|
31140
31238
|
buildLimit(limit) {
|
31141
31239
|
return typeof limit === "object" || typeof limit === "number" && limit >= 0 ? sql` limit ${limit}` : void 0;
|
31142
31240
|
}
|
@@ -31152,6 +31250,12 @@ var init_dialect2 = __esm({
|
|
31152
31250
|
}
|
31153
31251
|
return orderByList.length > 0 ? sql` order by ${sql.join(orderByList)}` : void 0;
|
31154
31252
|
}
|
31253
|
+
buildFromTable(table4) {
|
31254
|
+
if (is(table4, Table2) && table4[Table2.Symbol.OriginalName] !== table4[Table2.Symbol.Name]) {
|
31255
|
+
return sql`${sql.identifier(table4[Table2.Symbol.OriginalName])} ${sql.identifier(table4[Table2.Symbol.Name])}`;
|
31256
|
+
}
|
31257
|
+
return table4;
|
31258
|
+
}
|
31155
31259
|
buildSelectQuery({
|
31156
31260
|
withList,
|
31157
31261
|
fields,
|
@@ -31182,38 +31286,8 @@ var init_dialect2 = __esm({
|
|
31182
31286
|
const withSql = this.buildWithCTE(withList);
|
31183
31287
|
const distinctSql = distinct ? sql` distinct` : void 0;
|
31184
31288
|
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);
|
31289
|
+
const tableSql = this.buildFromTable(table4);
|
31290
|
+
const joinsSql = this.buildJoins(joins);
|
31217
31291
|
const whereSql = where ? sql` where ${where}` : void 0;
|
31218
31292
|
const havingSql = having ? sql` having ${having}` : void 0;
|
31219
31293
|
const groupByList = [];
|
@@ -31279,45 +31353,56 @@ var init_dialect2 = __esm({
|
|
31279
31353
|
const offsetSql = offset ? sql` offset ${offset}` : void 0;
|
31280
31354
|
return sql`${leftChunk}${operatorChunk}${rightChunk}${orderBySql}${limitSql}${offsetSql}`;
|
31281
31355
|
}
|
31282
|
-
buildInsertQuery({ table: table4, values, onConflict, returning, withList }) {
|
31356
|
+
buildInsertQuery({ table: table4, values: valuesOrSelect, onConflict, returning, withList, select }) {
|
31283
31357
|
const valuesSqlList = [];
|
31284
31358
|
const columns = table4[Table2.Symbol.Columns];
|
31285
31359
|
const colEntries = Object.entries(columns).filter(
|
31286
31360
|
([_2, col]) => !col.shouldDisableInsert()
|
31287
31361
|
);
|
31288
31362
|
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
|
-
|
31363
|
+
if (select) {
|
31364
|
+
const select2 = valuesOrSelect;
|
31365
|
+
if (is(select2, SQL)) {
|
31366
|
+
valuesSqlList.push(select2);
|
31367
|
+
} else {
|
31368
|
+
valuesSqlList.push(select2.getSQL());
|
31369
|
+
}
|
31370
|
+
} else {
|
31371
|
+
const values = valuesOrSelect;
|
31372
|
+
valuesSqlList.push(sql.raw("values "));
|
31373
|
+
for (const [valueIndex, value] of values.entries()) {
|
31374
|
+
const valueList = [];
|
31375
|
+
for (const [fieldName, col] of colEntries) {
|
31376
|
+
const colValue = value[fieldName];
|
31377
|
+
if (colValue === void 0 || is(colValue, Param) && colValue.value === void 0) {
|
31378
|
+
let defaultValue;
|
31379
|
+
if (col.default !== null && col.default !== void 0) {
|
31380
|
+
defaultValue = is(col.default, SQL) ? col.default : sql.param(col.default, col);
|
31381
|
+
} else if (col.defaultFn !== void 0) {
|
31382
|
+
const defaultFnResult = col.defaultFn();
|
31383
|
+
defaultValue = is(defaultFnResult, SQL) ? defaultFnResult : sql.param(defaultFnResult, col);
|
31384
|
+
} else if (!col.default && col.onUpdateFn !== void 0) {
|
31385
|
+
const onUpdateFnResult = col.onUpdateFn();
|
31386
|
+
defaultValue = is(onUpdateFnResult, SQL) ? onUpdateFnResult : sql.param(onUpdateFnResult, col);
|
31387
|
+
} else {
|
31388
|
+
defaultValue = sql`null`;
|
31389
|
+
}
|
31390
|
+
valueList.push(defaultValue);
|
31303
31391
|
} else {
|
31304
|
-
|
31392
|
+
valueList.push(colValue);
|
31305
31393
|
}
|
31306
|
-
valueList.push(defaultValue);
|
31307
|
-
} else {
|
31308
|
-
valueList.push(colValue);
|
31309
31394
|
}
|
31310
|
-
|
31311
|
-
|
31312
|
-
|
31313
|
-
|
31395
|
+
valuesSqlList.push(valueList);
|
31396
|
+
if (valueIndex < values.length - 1) {
|
31397
|
+
valuesSqlList.push(sql`, `);
|
31398
|
+
}
|
31314
31399
|
}
|
31315
31400
|
}
|
31316
31401
|
const withSql = this.buildWithCTE(withList);
|
31317
31402
|
const valuesSql = sql.join(valuesSqlList);
|
31318
31403
|
const returningSql = returning ? sql` returning ${this.buildSelection(returning, { isSingleTable: true })}` : void 0;
|
31319
31404
|
const onConflictSql = onConflict ? sql` on conflict ${onConflict}` : void 0;
|
31320
|
-
return sql`${withSql}insert into ${table4} ${insertOrder}
|
31405
|
+
return sql`${withSql}insert into ${table4} ${insertOrder} ${valuesSql}${onConflictSql}${returningSql}`;
|
31321
31406
|
}
|
31322
31407
|
sqlToQuery(sql2, invokeSource) {
|
31323
31408
|
return sql2.toQuery({
|
@@ -31546,8 +31631,8 @@ var init_dialect2 = __esm({
|
|
31546
31631
|
};
|
31547
31632
|
}
|
31548
31633
|
};
|
31549
|
-
__publicField(SQLiteDialect,
|
31550
|
-
SQLiteSyncDialect = class extends (
|
31634
|
+
__publicField(SQLiteDialect, _a198, "SQLiteDialect");
|
31635
|
+
SQLiteSyncDialect = class extends (_b143 = SQLiteDialect, _a199 = entityKind, _b143) {
|
31551
31636
|
migrate(migrations, session, config) {
|
31552
31637
|
const migrationsTable = config === void 0 ? "__drizzle_migrations" : typeof config === "string" ? "__drizzle_migrations" : config.migrationsTable ?? "__drizzle_migrations";
|
31553
31638
|
const migrationTableCreate = sql`
|
@@ -31581,8 +31666,8 @@ var init_dialect2 = __esm({
|
|
31581
31666
|
}
|
31582
31667
|
}
|
31583
31668
|
};
|
31584
|
-
__publicField(SQLiteSyncDialect,
|
31585
|
-
SQLiteAsyncDialect = class extends (
|
31669
|
+
__publicField(SQLiteSyncDialect, _a199, "SQLiteSyncDialect");
|
31670
|
+
SQLiteAsyncDialect = class extends (_b144 = SQLiteDialect, _a200 = entityKind, _b144) {
|
31586
31671
|
async migrate(migrations, session, config) {
|
31587
31672
|
const migrationsTable = config === void 0 ? "__drizzle_migrations" : typeof config === "string" ? "__drizzle_migrations" : config.migrationsTable ?? "__drizzle_migrations";
|
31588
31673
|
const migrationTableCreate = sql`
|
@@ -31611,7 +31696,7 @@ var init_dialect2 = __esm({
|
|
31611
31696
|
});
|
31612
31697
|
}
|
31613
31698
|
};
|
31614
|
-
__publicField(SQLiteAsyncDialect,
|
31699
|
+
__publicField(SQLiteAsyncDialect, _a200, "SQLiteAsyncDialect");
|
31615
31700
|
}
|
31616
31701
|
});
|
31617
31702
|
|
@@ -31633,7 +31718,7 @@ function createSetOperator2(type, isAll) {
|
|
31633
31718
|
return leftSelect.addSetOperators(setOperators);
|
31634
31719
|
};
|
31635
31720
|
}
|
31636
|
-
var
|
31721
|
+
var _a201, SQLiteSelectBuilder, _a202, _b145, SQLiteSelectQueryBuilderBase, _a203, _b146, SQLiteSelectBase, getSQLiteSetOperators, union2, unionAll2, intersect2, except2;
|
31637
31722
|
var init_select3 = __esm({
|
31638
31723
|
"../drizzle-orm/dist/sqlite-core/query-builders/select.js"() {
|
31639
31724
|
"use strict";
|
@@ -31647,7 +31732,7 @@ var init_select3 = __esm({
|
|
31647
31732
|
init_utils2();
|
31648
31733
|
init_view_common();
|
31649
31734
|
init_view_base2();
|
31650
|
-
|
31735
|
+
_a201 = entityKind;
|
31651
31736
|
SQLiteSelectBuilder = class {
|
31652
31737
|
constructor(config) {
|
31653
31738
|
__publicField(this, "fields");
|
@@ -31688,8 +31773,8 @@ var init_select3 = __esm({
|
|
31688
31773
|
});
|
31689
31774
|
}
|
31690
31775
|
};
|
31691
|
-
__publicField(SQLiteSelectBuilder,
|
31692
|
-
SQLiteSelectQueryBuilderBase = class extends (
|
31776
|
+
__publicField(SQLiteSelectBuilder, _a201, "SQLiteSelectBuilder");
|
31777
|
+
SQLiteSelectQueryBuilderBase = class extends (_b145 = TypedQueryBuilder, _a202 = entityKind, _b145) {
|
31693
31778
|
constructor({ table: table4, fields, isPartialSelect, session, dialect: dialect4, withList, distinct }) {
|
31694
31779
|
super();
|
31695
31780
|
__publicField(this, "_");
|
@@ -32194,8 +32279,8 @@ var init_select3 = __esm({
|
|
32194
32279
|
return this;
|
32195
32280
|
}
|
32196
32281
|
};
|
32197
|
-
__publicField(SQLiteSelectQueryBuilderBase,
|
32198
|
-
SQLiteSelectBase = class extends (
|
32282
|
+
__publicField(SQLiteSelectQueryBuilderBase, _a202, "SQLiteSelectQueryBuilder");
|
32283
|
+
SQLiteSelectBase = class extends (_b146 = SQLiteSelectQueryBuilderBase, _a203 = entityKind, _b146) {
|
32199
32284
|
constructor() {
|
32200
32285
|
super(...arguments);
|
32201
32286
|
__publicField(this, "run", (placeholderValues) => {
|
@@ -32233,7 +32318,7 @@ var init_select3 = __esm({
|
|
32233
32318
|
return this.all();
|
32234
32319
|
}
|
32235
32320
|
};
|
32236
|
-
__publicField(SQLiteSelectBase,
|
32321
|
+
__publicField(SQLiteSelectBase, _a203, "SQLiteSelect");
|
32237
32322
|
applyMixins(SQLiteSelectBase, [QueryPromise]);
|
32238
32323
|
getSQLiteSetOperators = () => ({
|
32239
32324
|
union: union2,
|
@@ -32249,7 +32334,7 @@ var init_select3 = __esm({
|
|
32249
32334
|
});
|
32250
32335
|
|
32251
32336
|
// ../drizzle-orm/dist/sqlite-core/query-builders/query-builder.js
|
32252
|
-
var
|
32337
|
+
var _a204, QueryBuilder2;
|
32253
32338
|
var init_query_builder3 = __esm({
|
32254
32339
|
"../drizzle-orm/dist/sqlite-core/query-builders/query-builder.js"() {
|
32255
32340
|
"use strict";
|
@@ -32258,7 +32343,7 @@ var init_query_builder3 = __esm({
|
|
32258
32343
|
init_dialect2();
|
32259
32344
|
init_subquery();
|
32260
32345
|
init_select3();
|
32261
|
-
|
32346
|
+
_a204 = entityKind;
|
32262
32347
|
QueryBuilder2 = class {
|
32263
32348
|
constructor(dialect4) {
|
32264
32349
|
__publicField(this, "dialect");
|
@@ -32320,7 +32405,185 @@ var init_query_builder3 = __esm({
|
|
32320
32405
|
return this.dialect;
|
32321
32406
|
}
|
32322
32407
|
};
|
32323
|
-
__publicField(QueryBuilder2,
|
32408
|
+
__publicField(QueryBuilder2, _a204, "SQLiteQueryBuilder");
|
32409
|
+
}
|
32410
|
+
});
|
32411
|
+
|
32412
|
+
// ../drizzle-orm/dist/sqlite-core/query-builders/insert.js
|
32413
|
+
var _a205, SQLiteInsertBuilder, _a206, _b147, SQLiteInsertBase;
|
32414
|
+
var init_insert2 = __esm({
|
32415
|
+
"../drizzle-orm/dist/sqlite-core/query-builders/insert.js"() {
|
32416
|
+
"use strict";
|
32417
|
+
init_entity();
|
32418
|
+
init_query_promise();
|
32419
|
+
init_sql();
|
32420
|
+
init_table3();
|
32421
|
+
init_table();
|
32422
|
+
init_utils2();
|
32423
|
+
init_query_builder3();
|
32424
|
+
_a205 = entityKind;
|
32425
|
+
SQLiteInsertBuilder = class {
|
32426
|
+
constructor(table4, session, dialect4, withList) {
|
32427
|
+
this.table = table4;
|
32428
|
+
this.session = session;
|
32429
|
+
this.dialect = dialect4;
|
32430
|
+
this.withList = withList;
|
32431
|
+
}
|
32432
|
+
values(values) {
|
32433
|
+
values = Array.isArray(values) ? values : [values];
|
32434
|
+
if (values.length === 0) {
|
32435
|
+
throw new Error("values() must be called with at least one value");
|
32436
|
+
}
|
32437
|
+
const mappedValues = values.map((entry) => {
|
32438
|
+
const result = {};
|
32439
|
+
const cols = this.table[Table2.Symbol.Columns];
|
32440
|
+
for (const colKey of Object.keys(entry)) {
|
32441
|
+
const colValue = entry[colKey];
|
32442
|
+
result[colKey] = is(colValue, SQL) ? colValue : new Param(colValue, cols[colKey]);
|
32443
|
+
}
|
32444
|
+
return result;
|
32445
|
+
});
|
32446
|
+
return new SQLiteInsertBase(this.table, mappedValues, this.session, this.dialect, this.withList);
|
32447
|
+
}
|
32448
|
+
select(selectQuery) {
|
32449
|
+
const select = typeof selectQuery === "function" ? selectQuery(new QueryBuilder2()) : selectQuery;
|
32450
|
+
if (!is(select, SQL) && !haveSameKeys(this.table[Columns], select._.selectedFields)) {
|
32451
|
+
throw new Error(
|
32452
|
+
"Insert select error: selected fields are not the same or are in a different order compared to the table definition"
|
32453
|
+
);
|
32454
|
+
}
|
32455
|
+
return new SQLiteInsertBase(this.table, select, this.session, this.dialect, this.withList, true);
|
32456
|
+
}
|
32457
|
+
};
|
32458
|
+
__publicField(SQLiteInsertBuilder, _a205, "SQLiteInsertBuilder");
|
32459
|
+
SQLiteInsertBase = class extends (_b147 = QueryPromise, _a206 = entityKind, _b147) {
|
32460
|
+
constructor(table4, values, session, dialect4, withList, select) {
|
32461
|
+
super();
|
32462
|
+
/** @internal */
|
32463
|
+
__publicField(this, "config");
|
32464
|
+
__publicField(this, "run", (placeholderValues) => {
|
32465
|
+
return this._prepare().run(placeholderValues);
|
32466
|
+
});
|
32467
|
+
__publicField(this, "all", (placeholderValues) => {
|
32468
|
+
return this._prepare().all(placeholderValues);
|
32469
|
+
});
|
32470
|
+
__publicField(this, "get", (placeholderValues) => {
|
32471
|
+
return this._prepare().get(placeholderValues);
|
32472
|
+
});
|
32473
|
+
__publicField(this, "values", (placeholderValues) => {
|
32474
|
+
return this._prepare().values(placeholderValues);
|
32475
|
+
});
|
32476
|
+
this.session = session;
|
32477
|
+
this.dialect = dialect4;
|
32478
|
+
this.config = { table: table4, values, withList, select };
|
32479
|
+
}
|
32480
|
+
returning(fields = this.config.table[SQLiteTable.Symbol.Columns]) {
|
32481
|
+
this.config.returning = orderSelectedFields(fields);
|
32482
|
+
return this;
|
32483
|
+
}
|
32484
|
+
/**
|
32485
|
+
* Adds an `on conflict do nothing` clause to the query.
|
32486
|
+
*
|
32487
|
+
* Calling this method simply avoids inserting a row as its alternative action.
|
32488
|
+
*
|
32489
|
+
* See docs: {@link https://orm.drizzle.team/docs/insert#on-conflict-do-nothing}
|
32490
|
+
*
|
32491
|
+
* @param config The `target` and `where` clauses.
|
32492
|
+
*
|
32493
|
+
* @example
|
32494
|
+
* ```ts
|
32495
|
+
* // Insert one row and cancel the insert if there's a conflict
|
32496
|
+
* await db.insert(cars)
|
32497
|
+
* .values({ id: 1, brand: 'BMW' })
|
32498
|
+
* .onConflictDoNothing();
|
32499
|
+
*
|
32500
|
+
* // Explicitly specify conflict target
|
32501
|
+
* await db.insert(cars)
|
32502
|
+
* .values({ id: 1, brand: 'BMW' })
|
32503
|
+
* .onConflictDoNothing({ target: cars.id });
|
32504
|
+
* ```
|
32505
|
+
*/
|
32506
|
+
onConflictDoNothing(config = {}) {
|
32507
|
+
if (config.target === void 0) {
|
32508
|
+
this.config.onConflict = sql`do nothing`;
|
32509
|
+
} else {
|
32510
|
+
const targetSql = Array.isArray(config.target) ? sql`${config.target}` : sql`${[config.target]}`;
|
32511
|
+
const whereSql = config.where ? sql` where ${config.where}` : sql``;
|
32512
|
+
this.config.onConflict = sql`${targetSql} do nothing${whereSql}`;
|
32513
|
+
}
|
32514
|
+
return this;
|
32515
|
+
}
|
32516
|
+
/**
|
32517
|
+
* Adds an `on conflict do update` clause to the query.
|
32518
|
+
*
|
32519
|
+
* Calling this method will update the existing row that conflicts with the row proposed for insertion as its alternative action.
|
32520
|
+
*
|
32521
|
+
* See docs: {@link https://orm.drizzle.team/docs/insert#upserts-and-conflicts}
|
32522
|
+
*
|
32523
|
+
* @param config The `target`, `set` and `where` clauses.
|
32524
|
+
*
|
32525
|
+
* @example
|
32526
|
+
* ```ts
|
32527
|
+
* // Update the row if there's a conflict
|
32528
|
+
* await db.insert(cars)
|
32529
|
+
* .values({ id: 1, brand: 'BMW' })
|
32530
|
+
* .onConflictDoUpdate({
|
32531
|
+
* target: cars.id,
|
32532
|
+
* set: { brand: 'Porsche' }
|
32533
|
+
* });
|
32534
|
+
*
|
32535
|
+
* // Upsert with 'where' clause
|
32536
|
+
* await db.insert(cars)
|
32537
|
+
* .values({ id: 1, brand: 'BMW' })
|
32538
|
+
* .onConflictDoUpdate({
|
32539
|
+
* target: cars.id,
|
32540
|
+
* set: { brand: 'newBMW' },
|
32541
|
+
* where: sql`${cars.createdAt} > '2023-01-01'::date`,
|
32542
|
+
* });
|
32543
|
+
* ```
|
32544
|
+
*/
|
32545
|
+
onConflictDoUpdate(config) {
|
32546
|
+
if (config.where && (config.targetWhere || config.setWhere)) {
|
32547
|
+
throw new Error(
|
32548
|
+
'You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.'
|
32549
|
+
);
|
32550
|
+
}
|
32551
|
+
const whereSql = config.where ? sql` where ${config.where}` : void 0;
|
32552
|
+
const targetWhereSql = config.targetWhere ? sql` where ${config.targetWhere}` : void 0;
|
32553
|
+
const setWhereSql = config.setWhere ? sql` where ${config.setWhere}` : void 0;
|
32554
|
+
const targetSql = Array.isArray(config.target) ? sql`${config.target}` : sql`${[config.target]}`;
|
32555
|
+
const setSql = this.dialect.buildUpdateSet(this.config.table, mapUpdateSet(this.config.table, config.set));
|
32556
|
+
this.config.onConflict = sql`${targetSql}${targetWhereSql} do update set ${setSql}${whereSql}${setWhereSql}`;
|
32557
|
+
return this;
|
32558
|
+
}
|
32559
|
+
/** @internal */
|
32560
|
+
getSQL() {
|
32561
|
+
return this.dialect.buildInsertQuery(this.config);
|
32562
|
+
}
|
32563
|
+
toSQL() {
|
32564
|
+
const { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());
|
32565
|
+
return rest;
|
32566
|
+
}
|
32567
|
+
/** @internal */
|
32568
|
+
_prepare(isOneTimeQuery = true) {
|
32569
|
+
return this.session[isOneTimeQuery ? "prepareOneTimeQuery" : "prepareQuery"](
|
32570
|
+
this.dialect.sqlToQuery(this.getSQL()),
|
32571
|
+
this.config.returning,
|
32572
|
+
this.config.returning ? "all" : "run",
|
32573
|
+
true
|
32574
|
+
);
|
32575
|
+
}
|
32576
|
+
prepare() {
|
32577
|
+
return this._prepare(false);
|
32578
|
+
}
|
32579
|
+
async execute() {
|
32580
|
+
return this.config.returning ? this.all() : this.run();
|
32581
|
+
}
|
32582
|
+
$dynamic() {
|
32583
|
+
return this;
|
32584
|
+
}
|
32585
|
+
};
|
32586
|
+
__publicField(SQLiteInsertBase, _a206, "SQLiteInsert");
|
32324
32587
|
}
|
32325
32588
|
});
|
32326
32589
|
|
@@ -32340,8 +32603,11 @@ var init_update2 = __esm({
|
|
32340
32603
|
init_query_promise();
|
32341
32604
|
init_selection_proxy();
|
32342
32605
|
init_table3();
|
32606
|
+
init_subquery();
|
32343
32607
|
init_table();
|
32344
32608
|
init_utils2();
|
32609
|
+
init_view_common();
|
32610
|
+
init_view_base2();
|
32345
32611
|
_a207 = entityKind;
|
32346
32612
|
SQLiteUpdateBuilder = class {
|
32347
32613
|
constructor(table4, session, dialect4, withList) {
|
@@ -32366,6 +32632,10 @@ var init_update2 = __esm({
|
|
32366
32632
|
super();
|
32367
32633
|
/** @internal */
|
32368
32634
|
__publicField(this, "config");
|
32635
|
+
__publicField(this, "leftJoin", this.createJoin("left"));
|
32636
|
+
__publicField(this, "rightJoin", this.createJoin("right"));
|
32637
|
+
__publicField(this, "innerJoin", this.createJoin("inner"));
|
32638
|
+
__publicField(this, "fullJoin", this.createJoin("full"));
|
32369
32639
|
__publicField(this, "run", (placeholderValues) => {
|
32370
32640
|
return this._prepare().run(placeholderValues);
|
32371
32641
|
});
|
@@ -32380,7 +32650,34 @@ var init_update2 = __esm({
|
|
32380
32650
|
});
|
32381
32651
|
this.session = session;
|
32382
32652
|
this.dialect = dialect4;
|
32383
|
-
this.config = { set, table: table4, withList };
|
32653
|
+
this.config = { set, table: table4, withList, joins: [] };
|
32654
|
+
}
|
32655
|
+
from(source) {
|
32656
|
+
this.config.from = source;
|
32657
|
+
return this;
|
32658
|
+
}
|
32659
|
+
createJoin(joinType) {
|
32660
|
+
return (table4, on) => {
|
32661
|
+
const tableName = getTableLikeName(table4);
|
32662
|
+
if (typeof tableName === "string" && this.config.joins.some((join) => join.alias === tableName)) {
|
32663
|
+
throw new Error(`Alias "${tableName}" is already used in this query`);
|
32664
|
+
}
|
32665
|
+
if (typeof on === "function") {
|
32666
|
+
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;
|
32667
|
+
on = on(
|
32668
|
+
new Proxy(
|
32669
|
+
this.config.table[Table2.Symbol.Columns],
|
32670
|
+
new SelectionProxyHandler({ sqlAliasedBehavior: "sql", sqlBehavior: "sql" })
|
32671
|
+
),
|
32672
|
+
from && new Proxy(
|
32673
|
+
from,
|
32674
|
+
new SelectionProxyHandler({ sqlAliasedBehavior: "sql", sqlBehavior: "sql" })
|
32675
|
+
)
|
32676
|
+
);
|
32677
|
+
}
|
32678
|
+
this.config.joins.push({ on, table: table4, joinType, alias: tableName });
|
32679
|
+
return this;
|
32680
|
+
};
|
32384
32681
|
}
|
32385
32682
|
/**
|
32386
32683
|
* Adds a 'where' clause to the query.
|
@@ -35678,131 +35975,6 @@ var init_delete3 = __esm({
|
|
35678
35975
|
}
|
35679
35976
|
});
|
35680
35977
|
|
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
35978
|
// ../drizzle-orm/dist/mysql-core/columns/all.js
|
35807
35979
|
function getMySqlColumnBuilders() {
|
35808
35980
|
return {
|
@@ -35883,7 +36055,7 @@ function mysqlTableWithSchema(name2, columns, extraConfig, schema4, baseName = n
|
|
35883
36055
|
}
|
35884
36056
|
return table4;
|
35885
36057
|
}
|
35886
|
-
var InlineForeignKeys3,
|
36058
|
+
var InlineForeignKeys3, _a299, _b222, _c9, _d4, _e4, MySqlTable, mysqlTable;
|
35887
36059
|
var init_table4 = __esm({
|
35888
36060
|
"../drizzle-orm/dist/mysql-core/table.js"() {
|
35889
36061
|
"use strict";
|
@@ -35891,15 +36063,15 @@ var init_table4 = __esm({
|
|
35891
36063
|
init_table();
|
35892
36064
|
init_all3();
|
35893
36065
|
InlineForeignKeys3 = Symbol.for("drizzle:MySqlInlineForeignKeys");
|
35894
|
-
MySqlTable = class extends (_e4 = Table2, _d4 = entityKind, _c9 = Table2.Symbol.Columns,
|
36066
|
+
MySqlTable = class extends (_e4 = Table2, _d4 = entityKind, _c9 = Table2.Symbol.Columns, _b222 = InlineForeignKeys3, _a299 = Table2.Symbol.ExtraConfigBuilder, _e4) {
|
35895
36067
|
constructor() {
|
35896
36068
|
super(...arguments);
|
35897
36069
|
/** @internal */
|
35898
36070
|
__publicField(this, _c9);
|
35899
36071
|
/** @internal */
|
35900
|
-
__publicField(this,
|
36072
|
+
__publicField(this, _b222, []);
|
35901
36073
|
/** @internal */
|
35902
|
-
__publicField(this,
|
36074
|
+
__publicField(this, _a299);
|
35903
36075
|
}
|
35904
36076
|
};
|
35905
36077
|
__publicField(MySqlTable, _d4, "MySqlTable");
|
@@ -35914,20 +36086,20 @@ var init_table4 = __esm({
|
|
35914
36086
|
});
|
35915
36087
|
|
35916
36088
|
// ../drizzle-orm/dist/mysql-core/view-base.js
|
35917
|
-
var
|
36089
|
+
var _a300, _b223, MySqlViewBase;
|
35918
36090
|
var init_view_base3 = __esm({
|
35919
36091
|
"../drizzle-orm/dist/mysql-core/view-base.js"() {
|
35920
36092
|
"use strict";
|
35921
36093
|
init_entity();
|
35922
36094
|
init_sql();
|
35923
|
-
MySqlViewBase = class extends (
|
36095
|
+
MySqlViewBase = class extends (_b223 = View3, _a300 = entityKind, _b223) {
|
35924
36096
|
};
|
35925
|
-
__publicField(MySqlViewBase,
|
36097
|
+
__publicField(MySqlViewBase, _a300, "MySqlViewBase");
|
35926
36098
|
}
|
35927
36099
|
});
|
35928
36100
|
|
35929
36101
|
// ../drizzle-orm/dist/mysql-core/dialect.js
|
35930
|
-
var
|
36102
|
+
var _a301, MySqlDialect;
|
35931
36103
|
var init_dialect3 = __esm({
|
35932
36104
|
"../drizzle-orm/dist/mysql-core/dialect.js"() {
|
35933
36105
|
"use strict";
|
@@ -35946,7 +36118,7 @@ var init_dialect3 = __esm({
|
|
35946
36118
|
init_common4();
|
35947
36119
|
init_table4();
|
35948
36120
|
init_view_base3();
|
35949
|
-
|
36121
|
+
_a301 = entityKind;
|
35950
36122
|
MySqlDialect = class {
|
35951
36123
|
constructor(config) {
|
35952
36124
|
/** @internal */
|
@@ -36229,7 +36401,7 @@ var init_dialect3 = __esm({
|
|
36229
36401
|
const offsetSql = offset ? sql` offset ${offset}` : void 0;
|
36230
36402
|
return sql`${leftChunk}${operatorChunk}${rightChunk}${orderBySql}${limitSql}${offsetSql}`;
|
36231
36403
|
}
|
36232
|
-
buildInsertQuery({ table: table4, values, ignore, onConflict }) {
|
36404
|
+
buildInsertQuery({ table: table4, values: valuesOrSelect, ignore, onConflict, select }) {
|
36233
36405
|
const valuesSqlList = [];
|
36234
36406
|
const columns = table4[Table2.Symbol.Columns];
|
36235
36407
|
const colEntries = Object.entries(columns).filter(
|
@@ -36237,42 +36409,53 @@ var init_dialect3 = __esm({
|
|
36237
36409
|
);
|
36238
36410
|
const insertOrder = colEntries.map(([, column4]) => sql.identifier(this.casing.getColumnCasing(column4)));
|
36239
36411
|
const generatedIdsResponse = [];
|
36240
|
-
|
36241
|
-
const
|
36242
|
-
|
36243
|
-
|
36244
|
-
|
36245
|
-
|
36246
|
-
|
36247
|
-
|
36248
|
-
|
36249
|
-
|
36250
|
-
|
36251
|
-
|
36252
|
-
|
36253
|
-
|
36254
|
-
|
36412
|
+
if (select) {
|
36413
|
+
const select2 = valuesOrSelect;
|
36414
|
+
if (is(select2, SQL)) {
|
36415
|
+
valuesSqlList.push(select2);
|
36416
|
+
} else {
|
36417
|
+
valuesSqlList.push(select2.getSQL());
|
36418
|
+
}
|
36419
|
+
} else {
|
36420
|
+
const values = valuesOrSelect;
|
36421
|
+
valuesSqlList.push(sql.raw("values "));
|
36422
|
+
for (const [valueIndex, value] of values.entries()) {
|
36423
|
+
const generatedIds = {};
|
36424
|
+
const valueList = [];
|
36425
|
+
for (const [fieldName, col] of colEntries) {
|
36426
|
+
const colValue = value[fieldName];
|
36427
|
+
if (colValue === void 0 || is(colValue, Param) && colValue.value === void 0) {
|
36428
|
+
if (col.defaultFn !== void 0) {
|
36429
|
+
const defaultFnResult = col.defaultFn();
|
36430
|
+
generatedIds[fieldName] = defaultFnResult;
|
36431
|
+
const defaultValue = is(defaultFnResult, SQL) ? defaultFnResult : sql.param(defaultFnResult, col);
|
36432
|
+
valueList.push(defaultValue);
|
36433
|
+
} else if (!col.default && col.onUpdateFn !== void 0) {
|
36434
|
+
const onUpdateFnResult = col.onUpdateFn();
|
36435
|
+
const newValue = is(onUpdateFnResult, SQL) ? onUpdateFnResult : sql.param(onUpdateFnResult, col);
|
36436
|
+
valueList.push(newValue);
|
36437
|
+
} else {
|
36438
|
+
valueList.push(sql`default`);
|
36439
|
+
}
|
36255
36440
|
} else {
|
36256
|
-
|
36257
|
-
|
36258
|
-
|
36259
|
-
|
36260
|
-
generatedIds[fieldName] = colValue.value;
|
36441
|
+
if (col.defaultFn && is(colValue, Param)) {
|
36442
|
+
generatedIds[fieldName] = colValue.value;
|
36443
|
+
}
|
36444
|
+
valueList.push(colValue);
|
36261
36445
|
}
|
36262
|
-
valueList.push(colValue);
|
36263
36446
|
}
|
36264
|
-
|
36265
|
-
|
36266
|
-
|
36267
|
-
|
36268
|
-
|
36447
|
+
generatedIdsResponse.push(generatedIds);
|
36448
|
+
valuesSqlList.push(valueList);
|
36449
|
+
if (valueIndex < values.length - 1) {
|
36450
|
+
valuesSqlList.push(sql`, `);
|
36451
|
+
}
|
36269
36452
|
}
|
36270
36453
|
}
|
36271
36454
|
const valuesSql = sql.join(valuesSqlList);
|
36272
36455
|
const ignoreSql = ignore ? sql` ignore` : void 0;
|
36273
36456
|
const onConflictSql = onConflict ? sql` on duplicate key ${onConflict}` : void 0;
|
36274
36457
|
return {
|
36275
|
-
sql: sql`insert${ignoreSql} into ${table4} ${insertOrder}
|
36458
|
+
sql: sql`insert${ignoreSql} into ${table4} ${insertOrder} ${valuesSql}${onConflictSql}`,
|
36276
36459
|
generatedIds: generatedIdsResponse
|
36277
36460
|
};
|
36278
36461
|
}
|
@@ -36732,7 +36915,7 @@ var init_dialect3 = __esm({
|
|
36732
36915
|
};
|
36733
36916
|
}
|
36734
36917
|
};
|
36735
|
-
__publicField(MySqlDialect,
|
36918
|
+
__publicField(MySqlDialect, _a301, "MySqlDialect");
|
36736
36919
|
}
|
36737
36920
|
});
|
36738
36921
|
|
@@ -36754,7 +36937,7 @@ function createSetOperator3(type, isAll) {
|
|
36754
36937
|
return leftSelect.addSetOperators(setOperators);
|
36755
36938
|
};
|
36756
36939
|
}
|
36757
|
-
var
|
36940
|
+
var _a302, MySqlSelectBuilder, _a303, _b224, MySqlSelectQueryBuilderBase, _a304, _b225, MySqlSelectBase, getMySqlSetOperators, union3, unionAll3, intersect3, intersectAll2, except3, exceptAll2;
|
36758
36941
|
var init_select4 = __esm({
|
36759
36942
|
"../drizzle-orm/dist/mysql-core/query-builders/select.js"() {
|
36760
36943
|
"use strict";
|
@@ -36769,7 +36952,7 @@ var init_select4 = __esm({
|
|
36769
36952
|
init_utils2();
|
36770
36953
|
init_view_common();
|
36771
36954
|
init_view_base3();
|
36772
|
-
|
36955
|
+
_a302 = entityKind;
|
36773
36956
|
MySqlSelectBuilder = class {
|
36774
36957
|
constructor(config) {
|
36775
36958
|
__publicField(this, "fields");
|
@@ -36814,8 +36997,8 @@ var init_select4 = __esm({
|
|
36814
36997
|
);
|
36815
36998
|
}
|
36816
36999
|
};
|
36817
|
-
__publicField(MySqlSelectBuilder,
|
36818
|
-
MySqlSelectQueryBuilderBase = class extends (
|
37000
|
+
__publicField(MySqlSelectBuilder, _a302, "MySqlSelectBuilder");
|
37001
|
+
MySqlSelectQueryBuilderBase = class extends (_b224 = TypedQueryBuilder, _a303 = entityKind, _b224) {
|
36819
37002
|
constructor({ table: table4, fields, isPartialSelect, session, dialect: dialect4, withList, distinct }) {
|
36820
37003
|
super();
|
36821
37004
|
__publicField(this, "_");
|
@@ -37416,8 +37599,8 @@ var init_select4 = __esm({
|
|
37416
37599
|
return this;
|
37417
37600
|
}
|
37418
37601
|
};
|
37419
|
-
__publicField(MySqlSelectQueryBuilderBase,
|
37420
|
-
MySqlSelectBase = class extends (
|
37602
|
+
__publicField(MySqlSelectQueryBuilderBase, _a303, "MySqlSelectQueryBuilder");
|
37603
|
+
MySqlSelectBase = class extends (_b225 = MySqlSelectQueryBuilderBase, _a304 = entityKind, _b225) {
|
37421
37604
|
constructor() {
|
37422
37605
|
super(...arguments);
|
37423
37606
|
__publicField(this, "execute", (placeholderValues) => {
|
@@ -37441,7 +37624,7 @@ var init_select4 = __esm({
|
|
37441
37624
|
return query;
|
37442
37625
|
}
|
37443
37626
|
};
|
37444
|
-
__publicField(MySqlSelectBase,
|
37627
|
+
__publicField(MySqlSelectBase, _a304, "MySqlSelect");
|
37445
37628
|
applyMixins(MySqlSelectBase, [QueryPromise]);
|
37446
37629
|
getMySqlSetOperators = () => ({
|
37447
37630
|
union: union3,
|
@@ -37461,7 +37644,7 @@ var init_select4 = __esm({
|
|
37461
37644
|
});
|
37462
37645
|
|
37463
37646
|
// ../drizzle-orm/dist/mysql-core/query-builders/query-builder.js
|
37464
|
-
var
|
37647
|
+
var _a305, QueryBuilder3;
|
37465
37648
|
var init_query_builder4 = __esm({
|
37466
37649
|
"../drizzle-orm/dist/mysql-core/query-builders/query-builder.js"() {
|
37467
37650
|
"use strict";
|
@@ -37470,7 +37653,7 @@ var init_query_builder4 = __esm({
|
|
37470
37653
|
init_selection_proxy();
|
37471
37654
|
init_subquery();
|
37472
37655
|
init_select4();
|
37473
|
-
|
37656
|
+
_a305 = entityKind;
|
37474
37657
|
QueryBuilder3 = class {
|
37475
37658
|
constructor(dialect4) {
|
37476
37659
|
__publicField(this, "dialect");
|
@@ -37532,7 +37715,142 @@ var init_query_builder4 = __esm({
|
|
37532
37715
|
return this.dialect;
|
37533
37716
|
}
|
37534
37717
|
};
|
37535
|
-
__publicField(QueryBuilder3,
|
37718
|
+
__publicField(QueryBuilder3, _a305, "MySqlQueryBuilder");
|
37719
|
+
}
|
37720
|
+
});
|
37721
|
+
|
37722
|
+
// ../drizzle-orm/dist/mysql-core/query-builders/insert.js
|
37723
|
+
var _a306, MySqlInsertBuilder, _a307, _b226, MySqlInsertBase;
|
37724
|
+
var init_insert3 = __esm({
|
37725
|
+
"../drizzle-orm/dist/mysql-core/query-builders/insert.js"() {
|
37726
|
+
"use strict";
|
37727
|
+
init_entity();
|
37728
|
+
init_query_promise();
|
37729
|
+
init_sql();
|
37730
|
+
init_table();
|
37731
|
+
init_utils2();
|
37732
|
+
init_query_builder4();
|
37733
|
+
_a306 = entityKind;
|
37734
|
+
MySqlInsertBuilder = class {
|
37735
|
+
constructor(table4, session, dialect4) {
|
37736
|
+
__publicField(this, "shouldIgnore", false);
|
37737
|
+
this.table = table4;
|
37738
|
+
this.session = session;
|
37739
|
+
this.dialect = dialect4;
|
37740
|
+
}
|
37741
|
+
ignore() {
|
37742
|
+
this.shouldIgnore = true;
|
37743
|
+
return this;
|
37744
|
+
}
|
37745
|
+
values(values) {
|
37746
|
+
values = Array.isArray(values) ? values : [values];
|
37747
|
+
if (values.length === 0) {
|
37748
|
+
throw new Error("values() must be called with at least one value");
|
37749
|
+
}
|
37750
|
+
const mappedValues = values.map((entry) => {
|
37751
|
+
const result = {};
|
37752
|
+
const cols = this.table[Table2.Symbol.Columns];
|
37753
|
+
for (const colKey of Object.keys(entry)) {
|
37754
|
+
const colValue = entry[colKey];
|
37755
|
+
result[colKey] = is(colValue, SQL) ? colValue : new Param(colValue, cols[colKey]);
|
37756
|
+
}
|
37757
|
+
return result;
|
37758
|
+
});
|
37759
|
+
return new MySqlInsertBase(this.table, mappedValues, this.shouldIgnore, this.session, this.dialect);
|
37760
|
+
}
|
37761
|
+
select(selectQuery) {
|
37762
|
+
const select = typeof selectQuery === "function" ? selectQuery(new QueryBuilder3()) : selectQuery;
|
37763
|
+
if (!is(select, SQL) && !haveSameKeys(this.table[Columns], select._.selectedFields)) {
|
37764
|
+
throw new Error(
|
37765
|
+
"Insert select error: selected fields are not the same or are in a different order compared to the table definition"
|
37766
|
+
);
|
37767
|
+
}
|
37768
|
+
return new MySqlInsertBase(this.table, select, this.shouldIgnore, this.session, this.dialect, true);
|
37769
|
+
}
|
37770
|
+
};
|
37771
|
+
__publicField(MySqlInsertBuilder, _a306, "MySqlInsertBuilder");
|
37772
|
+
MySqlInsertBase = class extends (_b226 = QueryPromise, _a307 = entityKind, _b226) {
|
37773
|
+
constructor(table4, values, ignore, session, dialect4, select) {
|
37774
|
+
super();
|
37775
|
+
__publicField(this, "config");
|
37776
|
+
__publicField(this, "execute", (placeholderValues) => {
|
37777
|
+
return this.prepare().execute(placeholderValues);
|
37778
|
+
});
|
37779
|
+
__publicField(this, "createIterator", () => {
|
37780
|
+
const self2 = this;
|
37781
|
+
return async function* (placeholderValues) {
|
37782
|
+
yield* self2.prepare().iterator(placeholderValues);
|
37783
|
+
};
|
37784
|
+
});
|
37785
|
+
__publicField(this, "iterator", this.createIterator());
|
37786
|
+
this.session = session;
|
37787
|
+
this.dialect = dialect4;
|
37788
|
+
this.config = { table: table4, values, select, ignore };
|
37789
|
+
}
|
37790
|
+
/**
|
37791
|
+
* Adds an `on duplicate key update` clause to the query.
|
37792
|
+
*
|
37793
|
+
* 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.
|
37794
|
+
*
|
37795
|
+
* See docs: {@link https://orm.drizzle.team/docs/insert#on-duplicate-key-update}
|
37796
|
+
*
|
37797
|
+
* @param config The `set` clause
|
37798
|
+
*
|
37799
|
+
* @example
|
37800
|
+
* ```ts
|
37801
|
+
* await db.insert(cars)
|
37802
|
+
* .values({ id: 1, brand: 'BMW'})
|
37803
|
+
* .onDuplicateKeyUpdate({ set: { brand: 'Porsche' }});
|
37804
|
+
* ```
|
37805
|
+
*
|
37806
|
+
* 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:
|
37807
|
+
*
|
37808
|
+
* ```ts
|
37809
|
+
* import { sql } from 'drizzle-orm';
|
37810
|
+
*
|
37811
|
+
* await db.insert(cars)
|
37812
|
+
* .values({ id: 1, brand: 'BMW' })
|
37813
|
+
* .onDuplicateKeyUpdate({ set: { id: sql`id` } });
|
37814
|
+
* ```
|
37815
|
+
*/
|
37816
|
+
onDuplicateKeyUpdate(config) {
|
37817
|
+
const setSql = this.dialect.buildUpdateSet(this.config.table, mapUpdateSet(this.config.table, config.set));
|
37818
|
+
this.config.onConflict = sql`update ${setSql}`;
|
37819
|
+
return this;
|
37820
|
+
}
|
37821
|
+
$returningId() {
|
37822
|
+
const returning = [];
|
37823
|
+
for (const [key, value] of Object.entries(this.config.table[Table2.Symbol.Columns])) {
|
37824
|
+
if (value.primary) {
|
37825
|
+
returning.push({ field: value, path: [key] });
|
37826
|
+
}
|
37827
|
+
}
|
37828
|
+
this.config.returning = returning;
|
37829
|
+
return this;
|
37830
|
+
}
|
37831
|
+
/** @internal */
|
37832
|
+
getSQL() {
|
37833
|
+
return this.dialect.buildInsertQuery(this.config).sql;
|
37834
|
+
}
|
37835
|
+
toSQL() {
|
37836
|
+
const { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());
|
37837
|
+
return rest;
|
37838
|
+
}
|
37839
|
+
prepare() {
|
37840
|
+
const { sql: sql2, generatedIds } = this.dialect.buildInsertQuery(this.config);
|
37841
|
+
return this.session.prepareQuery(
|
37842
|
+
this.dialect.sqlToQuery(sql2),
|
37843
|
+
void 0,
|
37844
|
+
void 0,
|
37845
|
+
generatedIds,
|
37846
|
+
this.config.returning
|
37847
|
+
);
|
37848
|
+
}
|
37849
|
+
$dynamic() {
|
37850
|
+
return this;
|
37851
|
+
}
|
37852
|
+
};
|
37853
|
+
__publicField(MySqlInsertBase, _a307, "MySqlInsert");
|
37536
37854
|
}
|
37537
37855
|
});
|
37538
37856
|
|