orchid-orm 1.77.0 → 1.77.1
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/dist/bun.d.ts +6 -17
- package/dist/bun.js +3 -2
- package/dist/bun.js.map +1 -1
- package/dist/bun.mjs +3 -2
- package/dist/bun.mjs.map +1 -1
- package/dist/index.d.ts +35 -47
- package/dist/index.js +26 -13
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +26 -13
- package/dist/index.mjs.map +1 -1
- package/dist/migrations/bun.js.map +1 -1
- package/dist/migrations/bun.mjs.map +1 -1
- package/dist/migrations/index.d.ts +2 -1
- package/dist/migrations/index.js +180 -58
- package/dist/migrations/index.js.map +1 -1
- package/dist/migrations/index.mjs +179 -56
- package/dist/migrations/index.mjs.map +1 -1
- package/dist/migrations/node-postgres.js.map +1 -1
- package/dist/migrations/node-postgres.mjs.map +1 -1
- package/dist/migrations/postgres-js.js.map +1 -1
- package/dist/migrations/postgres-js.mjs.map +1 -1
- package/dist/node-postgres.d.ts +6 -16
- package/dist/node-postgres.js +3 -2
- package/dist/node-postgres.js.map +1 -1
- package/dist/node-postgres.mjs +3 -2
- package/dist/node-postgres.mjs.map +1 -1
- package/dist/postgres-js.d.ts +6 -14
- package/dist/postgres-js.js +3 -2
- package/dist/postgres-js.js.map +1 -1
- package/dist/postgres-js.mjs +3 -2
- package/dist/postgres-js.mjs.map +1 -1
- package/package.json +4 -7
package/dist/index.mjs
CHANGED
|
@@ -818,7 +818,8 @@ var BelongsToVirtualColumn = class extends VirtualColumn {
|
|
|
818
818
|
_onUpsertUpdate(queryForCreate, (as) => {
|
|
819
819
|
createWhereNotExists._sql = `NOT EXISTS (SELECT 1 FROM "${as}")`;
|
|
820
820
|
});
|
|
821
|
-
|
|
821
|
+
const sourceQuery = _queryWhere(_queryTake(_querySelect(_clone(query.qb), [{}])), [createWhereNotExists]);
|
|
822
|
+
createQuery = _queryInsertManyFrom(selectPKeys, sourceQuery, create.values);
|
|
822
823
|
} else createQuery = _queryInsertMany(selectPKeys, create.values);
|
|
823
824
|
const setForeignKeys = (as) => {
|
|
824
825
|
const count = create.items.length;
|
|
@@ -903,7 +904,8 @@ const nestedUpdate$2 = ({ query, primaryKeys, foreignKeys, len }) => {
|
|
|
903
904
|
return ((self, update, params) => {
|
|
904
905
|
if (params.create) {
|
|
905
906
|
const createQuery = _querySelect(_queryCreate(query.clone(), params.create), primaryKeys);
|
|
906
|
-
|
|
907
|
+
const asFn = setForeignKeysFromCte(update, primaryKeys, foreignKeys);
|
|
908
|
+
_prependWith(self, asFn, createQuery);
|
|
907
909
|
} else if (params.update) {
|
|
908
910
|
let appendedAs;
|
|
909
911
|
_hookSelectColumns(self, foreignKeys, (aliasedForeignKeys) => {
|
|
@@ -917,7 +919,8 @@ const nestedUpdate$2 = ({ query, primaryKeys, foreignKeys, len }) => {
|
|
|
917
919
|
if (isQueryReturnsAll(self)) throw new Error("`upsert` option is not allowed in a batch update");
|
|
918
920
|
const { relQuery } = relWithSelectIds(self, query, primaryKeys, foreignKeys);
|
|
919
921
|
const upsertQuery = _querySelect(_queryUpsert(relQuery, params.upsert), primaryKeys);
|
|
920
|
-
|
|
922
|
+
const asFn = setForeignKeysFromCte(update, primaryKeys, foreignKeys);
|
|
923
|
+
_prependWith(self, asFn, upsertQuery);
|
|
921
924
|
} else if (params.delete) {
|
|
922
925
|
_hookSelectColumns(self, foreignKeys, noop);
|
|
923
926
|
disconnect(update, foreignKeys);
|
|
@@ -939,7 +942,10 @@ const nestedUpdate$2 = ({ query, primaryKeys, foreignKeys, len }) => {
|
|
|
939
942
|
(loadForeignKeys ??= []).push(foreignKeys[i]);
|
|
940
943
|
}
|
|
941
944
|
}
|
|
942
|
-
if (loadPrimaryKeys)
|
|
945
|
+
if (loadPrimaryKeys) {
|
|
946
|
+
const asFn = setForeignKeysFromCte(update, loadPrimaryKeys, loadForeignKeys, true);
|
|
947
|
+
_prependWith(self, asFn, _queryFindBy(query.select(...loadPrimaryKeys), params.set));
|
|
948
|
+
}
|
|
943
949
|
}
|
|
944
950
|
});
|
|
945
951
|
};
|
|
@@ -1118,11 +1124,13 @@ var HasOneVirtualColumn = class extends VirtualColumn {
|
|
|
1118
1124
|
const nullifyOrDeleteQuery = params.update ? _queryUpdate(ids.existingRelQuery, params.update) : params.upsert ? _queryUpsert(ids.existingRelQuery, makeNestedUpdateUpsertData(params.upsert, ids.setIds)) : params.delete ? _queryDelete(ids.existingRelQuery) : _queryUpdate(ids.existingRelQuery, this.setNulls);
|
|
1119
1125
|
nullifyOrDeleteQuery.q.returnType = "void";
|
|
1120
1126
|
_appendQuery(querySelf, nullifyOrDeleteQuery, ids.setAppendedAs);
|
|
1121
|
-
if (params.create)
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1127
|
+
if (params.create) {
|
|
1128
|
+
const createQuery = _queryInsert(_clone(relQuery), {
|
|
1129
|
+
...params.create,
|
|
1130
|
+
...ids.setIds
|
|
1131
|
+
});
|
|
1132
|
+
_appendQuery(querySelf, createQuery, noop);
|
|
1133
|
+
} else if (params.set) {
|
|
1126
1134
|
const setQuery = _queryUpdate(_queryWhere(_clone(relQuery), [params.set]), ids.setIds);
|
|
1127
1135
|
setQuery.q.returnType = "void";
|
|
1128
1136
|
_appendQuery(querySelf, setQuery, noop);
|
|
@@ -1606,10 +1614,11 @@ const nestedUpdateUpsert = (querySelf, state, upsert) => {
|
|
|
1606
1614
|
parentIdsSql._sql = selectCteColumnsSql(parentAs, aliasedPrimaryKeys);
|
|
1607
1615
|
for (let i = 0; i < state.foreignKeys.length; i++) parentValues[i]._sql = selectCteColumnSql(parentAs, aliasedPrimaryKeys[i]);
|
|
1608
1616
|
});
|
|
1609
|
-
const
|
|
1617
|
+
const existingRelQuery = _queryWhereExists(_queryWhere(_clone(state.relatedTableQuery), [upsert.findBy]), state.joinTableQuery, [(q) => {
|
|
1610
1618
|
for (let i = 0; i < state.throughPrimaryKeys.length; i++) _queryJoinOn(q, [state.throughForeignKeysFull[i], state.throughPrimaryKeysFull[i]]);
|
|
1611
1619
|
return _queryWhereIn(q, true, state.foreignKeysFull, parentIdsSql);
|
|
1612
|
-
}])
|
|
1620
|
+
}]);
|
|
1621
|
+
const upsertQuery = _querySelect(_queryUpsert(existingRelQuery, {
|
|
1613
1622
|
update: upsert.update,
|
|
1614
1623
|
create: upsert.create || {}
|
|
1615
1624
|
}), state.throughPrimaryKeys);
|
|
@@ -1912,7 +1921,8 @@ const nestedUpdate = (state) => {
|
|
|
1912
1921
|
}
|
|
1913
1922
|
if (params.disconnect) await _queryDelete(queryJoinTable(state, data, params.disconnect));
|
|
1914
1923
|
if (params.delete) {
|
|
1915
|
-
const
|
|
1924
|
+
const j = queryJoinTable(state, data, params.delete);
|
|
1925
|
+
const idsRows = await _queryDelete(_queryRows(_querySelect(j, state.throughForeignKeys)));
|
|
1916
1926
|
await _queryDelete(state.relatedTableQuery.where({ IN: {
|
|
1917
1927
|
columns: state.throughPrimaryKeys,
|
|
1918
1928
|
values: idsRows
|
|
@@ -1921,7 +1931,10 @@ const nestedUpdate = (state) => {
|
|
|
1921
1931
|
if (params.set) {
|
|
1922
1932
|
const j = queryJoinTable(state, data);
|
|
1923
1933
|
await _queryDelete(j);
|
|
1924
|
-
if (Array.isArray(params.set) ? params.set.length : objectHasValues(params.set))
|
|
1934
|
+
if (Array.isArray(params.set) ? params.set.length : objectHasValues(params.set)) {
|
|
1935
|
+
const idsRows = await _queryRows(_querySelect(state.relatedTableQuery.where(conditionsToWhereArg(params.set)), state.throughPrimaryKeys));
|
|
1936
|
+
await insertToJoinTable(state, j, data, idsRows);
|
|
1937
|
+
}
|
|
1925
1938
|
}
|
|
1926
1939
|
});
|
|
1927
1940
|
};
|