@fragno-dev/db 0.1.8 → 0.1.9
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/.turbo/turbo-build.log +103 -101
- package/CHANGELOG.md +6 -0
- package/dist/adapters/drizzle/drizzle-adapter.d.ts.map +1 -1
- package/dist/adapters/drizzle/drizzle-adapter.js +1 -1
- package/dist/adapters/drizzle/drizzle-query.d.ts +5 -0
- package/dist/adapters/drizzle/drizzle-query.js +40 -16
- package/dist/adapters/drizzle/drizzle-query.js.map +1 -1
- package/dist/adapters/drizzle/drizzle-uow-compiler.js +12 -21
- package/dist/adapters/drizzle/drizzle-uow-compiler.js.map +1 -1
- package/dist/adapters/drizzle/drizzle-uow-executor.js +3 -3
- package/dist/adapters/drizzle/generate.d.ts +24 -0
- package/dist/adapters/drizzle/generate.d.ts.map +1 -0
- package/dist/adapters/drizzle/generate.js +34 -18
- package/dist/adapters/drizzle/generate.js.map +1 -1
- package/dist/adapters/drizzle/shared.js +13 -4
- package/dist/adapters/drizzle/shared.js.map +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/alias.js +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/alias.js.map +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/casing.js +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/casing.js.map +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/column-builder.js +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/column-builder.js.map +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/column.js +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/column.js.map +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/entity.js +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/entity.js.map +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/errors.js +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/errors.js.map +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/pg-core/columns/common.js +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/pg-core/columns/common.js.map +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/pg-core/columns/enum.js +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/pg-core/columns/enum.js.map +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/pg-core/foreign-keys.js +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/pg-core/foreign-keys.js.map +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/pg-core/unique-constraint.js +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/pg-core/unique-constraint.js.map +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/pg-core/utils/array.js +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/pg-core/utils/array.js.map +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/query-builders/query-builder.js +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/query-builders/query-builder.js.map +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/query-promise.js +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/query-promise.js.map +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/relations.js +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/relations.js.map +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/selection-proxy.js +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/selection-proxy.js.map +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/sql/expressions/conditions.js +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/sql/expressions/conditions.js.map +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/sql/expressions/select.js +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/sql/expressions/select.js.map +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/sql/functions/aggregate.js +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/sql/functions/aggregate.js.map +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/sql/sql.js +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/sql/sql.js.map +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/sqlite-core/columns/common.js +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/sqlite-core/columns/common.js.map +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/sqlite-core/db.js +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/sqlite-core/db.js.map +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/sqlite-core/dialect.js +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/sqlite-core/dialect.js.map +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/sqlite-core/foreign-keys.js +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/sqlite-core/foreign-keys.js.map +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/sqlite-core/query-builders/count.js +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/sqlite-core/query-builders/count.js.map +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/sqlite-core/query-builders/delete.js +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/sqlite-core/query-builders/delete.js.map +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/sqlite-core/query-builders/insert.js +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/sqlite-core/query-builders/insert.js.map +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/sqlite-core/query-builders/query-builder.js +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/sqlite-core/query-builders/query-builder.js.map +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/sqlite-core/query-builders/query.js +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/sqlite-core/query-builders/query.js.map +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/sqlite-core/query-builders/raw.js +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/sqlite-core/query-builders/raw.js.map +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/sqlite-core/query-builders/select.js +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/sqlite-core/query-builders/select.js.map +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/sqlite-core/query-builders/update.js +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/sqlite-core/query-builders/update.js.map +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/sqlite-core/table.js +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/sqlite-core/table.js.map +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/sqlite-core/unique-constraint.js +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/sqlite-core/unique-constraint.js.map +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/sqlite-core/utils.js +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/sqlite-core/utils.js.map +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/sqlite-core/view-base.js +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/sqlite-core/view-base.js.map +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/subquery.js +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/subquery.js.map +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/table.js +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/table.js.map +1 -1
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d/node_modules/drizzle-orm/table.utils.js +6 -0
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/table.utils.js.map +1 -1
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d/node_modules/drizzle-orm/tracing-utils.js +8 -0
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/tracing-utils.js.map +1 -1
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d/node_modules/drizzle-orm/tracing.js +8 -0
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/tracing.js.map +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/utils.js +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/utils.js.map +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/view-common.js +1 -1
- package/dist/node_modules/.pnpm/{drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260 → drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_d581c715d15ad795b3728767f4706e8d}/node_modules/drizzle-orm/view-common.js.map +1 -1
- package/dist/query/unit-of-work.d.ts +6 -2
- package/dist/query/unit-of-work.d.ts.map +1 -1
- package/dist/query/unit-of-work.js +19 -3
- package/dist/query/unit-of-work.js.map +1 -1
- package/package.json +8 -3
- package/src/adapters/drizzle/drizzle-adapter.test.ts +3 -3
- package/src/adapters/drizzle/drizzle-query.test.ts +449 -0
- package/src/adapters/drizzle/drizzle-query.ts +58 -21
- package/src/adapters/drizzle/drizzle-uow-compiler.test.ts +97 -0
- package/src/adapters/drizzle/drizzle-uow-compiler.ts +16 -7
- package/src/adapters/drizzle/generate.test.ts +168 -56
- package/src/adapters/drizzle/generate.ts +80 -21
- package/src/adapters/drizzle/shared.ts +14 -4
- package/src/adapters/drizzle/test-utils.ts +1 -0
- package/src/query/unit-of-work.ts +28 -0
- package/tsdown.config.ts +1 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/table.utils.js +0 -6
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/tracing-utils.js +0 -8
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@libsql_client@0.15.15_@types_better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/tracing.js +0 -8
|
@@ -4,11 +4,12 @@ import {
|
|
|
4
4
|
type AnyColumn,
|
|
5
5
|
type AnySchema,
|
|
6
6
|
type AnyTable,
|
|
7
|
+
type Relation,
|
|
7
8
|
InternalIdColumn,
|
|
8
9
|
} from "../../schema/create";
|
|
9
10
|
import type { SQLProvider } from "../../shared/providers";
|
|
10
11
|
import { schemaToDBType, type DBTypeLiteral } from "../../schema/serialize";
|
|
11
|
-
import { createTableNameMapper } from "./shared";
|
|
12
|
+
import { createTableNameMapper, sanitizeNamespace } from "./shared";
|
|
12
13
|
import { settingsSchema, SETTINGS_TABLE_NAME } from "../../shared/settings-schema";
|
|
13
14
|
|
|
14
15
|
// ============================================================================
|
|
@@ -407,10 +408,13 @@ function generateTable(
|
|
|
407
408
|
const columns = generateAllColumns(ctx, table, customTypes);
|
|
408
409
|
const constraints = generateTableConstraints(ctx, table, namespace);
|
|
409
410
|
|
|
410
|
-
// Suffix table name with namespace if provided
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
411
|
+
// Suffix table name with namespace if provided, and sanitize for use as database table name
|
|
412
|
+
// Database table names must also be valid identifiers to work with Drizzle's relational query system
|
|
413
|
+
const physicalTableName = namespace
|
|
414
|
+
? `${table.ormName}_${sanitizeNamespace(namespace)}`
|
|
415
|
+
: table.ormName;
|
|
416
|
+
// Same sanitized name for TypeScript export
|
|
417
|
+
const exportName = physicalTableName;
|
|
414
418
|
|
|
415
419
|
const args: string[] = [`"${physicalTableName}"`, `{\n${columns.join(",\n")}\n}`];
|
|
416
420
|
|
|
@@ -429,11 +433,13 @@ function generateRelation(
|
|
|
429
433
|
ctx: GeneratorContext,
|
|
430
434
|
table: AnyTable,
|
|
431
435
|
namespace?: string,
|
|
436
|
+
inverseRelations?: Array<{ fromTable: AnyTable; relation: Relation }>,
|
|
432
437
|
): string | undefined {
|
|
433
438
|
const relations: string[] = [];
|
|
434
439
|
let hasOne = false;
|
|
435
440
|
let hasMany = false;
|
|
436
441
|
|
|
442
|
+
// Generate explicit relations defined on this table
|
|
437
443
|
for (const relation of Object.values(table.relations)) {
|
|
438
444
|
const options: string[] = [`relationName: "${relation.id}"`];
|
|
439
445
|
|
|
@@ -479,6 +485,30 @@ function generateRelation(
|
|
|
479
485
|
relations.push(ident(`${relation.name}: ${relation.type}(${args.join(", ")})`));
|
|
480
486
|
}
|
|
481
487
|
|
|
488
|
+
// Generate inverse relations for tables that reference this table
|
|
489
|
+
// Drizzle requires both sides of a relation to be defined
|
|
490
|
+
if (inverseRelations && inverseRelations.length > 0) {
|
|
491
|
+
for (const { fromTable, relation } of inverseRelations) {
|
|
492
|
+
// Only generate inverse for "one" relations (they become "many" on this side)
|
|
493
|
+
if (relation.type === "one") {
|
|
494
|
+
hasMany = true;
|
|
495
|
+
|
|
496
|
+
const fromTableRef = namespace
|
|
497
|
+
? `${fromTable.ormName}_${sanitizeNamespace(namespace)}`
|
|
498
|
+
: fromTable.ormName;
|
|
499
|
+
|
|
500
|
+
// Generate inverse relation name with consistent suffix
|
|
501
|
+
// e.g., if session has "sessionOwner" relation to user, user gets "sessionList" inverse relation
|
|
502
|
+
const inverseRelationName = `${fromTable.ormName}List`;
|
|
503
|
+
|
|
504
|
+
const options: string[] = [`relationName: "${relation.id}"`];
|
|
505
|
+
const args: string[] = [fromTableRef, `{\n${ident(options.join(",\n"))}\n}`];
|
|
506
|
+
|
|
507
|
+
relations.push(ident(`${inverseRelationName}: many(${args.join(", ")})`));
|
|
508
|
+
}
|
|
509
|
+
}
|
|
510
|
+
}
|
|
511
|
+
|
|
482
512
|
if (relations.length === 0) {
|
|
483
513
|
return undefined;
|
|
484
514
|
}
|
|
@@ -508,19 +538,15 @@ ${relations.join(",\n")}
|
|
|
508
538
|
// UTILITIES
|
|
509
539
|
// ============================================================================
|
|
510
540
|
|
|
511
|
-
/**
|
|
512
|
-
* Sanitize a namespace to be a valid JavaScript identifier
|
|
513
|
-
* Replaces hyphens and other invalid characters with underscores
|
|
514
|
-
*/
|
|
515
|
-
function sanitizeNamespace(namespace: string): string {
|
|
516
|
-
return namespace.replace(/[^a-zA-Z0-9_]/g, "_");
|
|
517
|
-
}
|
|
518
|
-
|
|
519
541
|
/**
|
|
520
542
|
* Generate a schema export object for a fragment
|
|
521
543
|
* This groups all tables by their logical names for easier access
|
|
522
544
|
*/
|
|
523
|
-
function generateFragmentSchemaExport(
|
|
545
|
+
function generateFragmentSchemaExport(
|
|
546
|
+
schema: AnySchema,
|
|
547
|
+
namespace: string,
|
|
548
|
+
tablesWithRelations?: Set<string>,
|
|
549
|
+
): string {
|
|
524
550
|
const entries: string[] = [];
|
|
525
551
|
|
|
526
552
|
for (const table of Object.values(schema.tables)) {
|
|
@@ -528,14 +554,23 @@ function generateFragmentSchemaExport(schema: AnySchema, namespace: string): str
|
|
|
528
554
|
? `${table.ormName}_${sanitizeNamespace(namespace)}`
|
|
529
555
|
: table.ormName;
|
|
530
556
|
|
|
557
|
+
// Use sanitized export name (valid JS identifier) as the key
|
|
558
|
+
// Drizzle requires all schema keys to be valid identifiers
|
|
559
|
+
entries.push(` ${physicalExportName}: ${physicalExportName}`);
|
|
560
|
+
|
|
561
|
+
// Add convenient alias using the original table name (without namespace)
|
|
531
562
|
if (namespace) {
|
|
532
|
-
|
|
533
|
-
// Use physical table name as key for Drizzle schema lookups
|
|
534
|
-
entries.push(` "${physicalTableName}": ${physicalExportName}`);
|
|
563
|
+
entries.push(` ${table.ormName}: ${physicalExportName}`);
|
|
535
564
|
}
|
|
536
565
|
|
|
537
|
-
//
|
|
538
|
-
|
|
566
|
+
// Include relations for this table if they exist (either explicit or inverse)
|
|
567
|
+
if (tablesWithRelations?.has(table.name)) {
|
|
568
|
+
const relationsName = namespace
|
|
569
|
+
? `${table.ormName}_${sanitizeNamespace(namespace)}Relations`
|
|
570
|
+
: `${table.ormName}Relations`;
|
|
571
|
+
|
|
572
|
+
entries.push(` ${relationsName}: ${relationsName}`);
|
|
573
|
+
}
|
|
539
574
|
}
|
|
540
575
|
|
|
541
576
|
// Add schema version as a number
|
|
@@ -616,17 +651,41 @@ export function generateSchema(
|
|
|
616
651
|
const tableCode = generateTable(ctx, table, customTypes, namespace);
|
|
617
652
|
fragmentTables.push("");
|
|
618
653
|
fragmentTables.push(tableCode);
|
|
654
|
+
}
|
|
619
655
|
|
|
620
|
-
|
|
656
|
+
// Build a map of inverse relations for tables that are referenced but don't have their own relations
|
|
657
|
+
// This is needed for Drizzle's relational query API to work correctly
|
|
658
|
+
const inverseRelations = new Map<string, Array<{ fromTable: AnyTable; relation: Relation }>>();
|
|
659
|
+
for (const table of Object.values(schema.tables)) {
|
|
660
|
+
for (const relation of Object.values(table.relations)) {
|
|
661
|
+
// Track this relation as an inverse on the target table
|
|
662
|
+
const targetTableName = relation.table.name;
|
|
663
|
+
if (!inverseRelations.has(targetTableName)) {
|
|
664
|
+
inverseRelations.set(targetTableName, []);
|
|
665
|
+
}
|
|
666
|
+
inverseRelations.get(targetTableName)!.push({ fromTable: table, relation });
|
|
667
|
+
}
|
|
668
|
+
}
|
|
669
|
+
|
|
670
|
+
// Generate relations for all tables (both explicit and inverse)
|
|
671
|
+
const tablesWithRelations = new Set<string>();
|
|
672
|
+
for (const table of Object.values(schema.tables)) {
|
|
673
|
+
const relationCode = generateRelation(
|
|
674
|
+
ctx,
|
|
675
|
+
table,
|
|
676
|
+
namespace,
|
|
677
|
+
inverseRelations.get(table.name),
|
|
678
|
+
);
|
|
621
679
|
if (relationCode) {
|
|
622
680
|
fragmentTables.push("");
|
|
623
681
|
fragmentTables.push(relationCode);
|
|
682
|
+
tablesWithRelations.add(table.name);
|
|
624
683
|
}
|
|
625
684
|
}
|
|
626
685
|
|
|
627
686
|
// Generate schema export object
|
|
628
687
|
fragmentTables.push("");
|
|
629
|
-
fragmentTables.push(generateFragmentSchemaExport(schema, namespace));
|
|
688
|
+
fragmentTables.push(generateFragmentSchemaExport(schema, namespace, tablesWithRelations));
|
|
630
689
|
|
|
631
690
|
sections.push(...fragmentTables);
|
|
632
691
|
}
|
|
@@ -30,16 +30,26 @@ export interface TableNameMapper {
|
|
|
30
30
|
toLogical(physicalName: string): string;
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
+
/**
|
|
34
|
+
* Sanitize a namespace to be a valid JavaScript identifier
|
|
35
|
+
* Replaces hyphens and other invalid characters with underscores
|
|
36
|
+
*/
|
|
37
|
+
export function sanitizeNamespace(namespace: string): string {
|
|
38
|
+
return namespace.replace(/[^a-zA-Z0-9_]/g, "_");
|
|
39
|
+
}
|
|
40
|
+
|
|
33
41
|
/**
|
|
34
42
|
* Creates a table name mapper for a given namespace.
|
|
35
|
-
* Physical names have format: {logicalName}_{
|
|
43
|
+
* Physical names have format: {logicalName}_{sanitizedNamespace}
|
|
44
|
+
* The namespace is sanitized to match TypeScript export names used in the schema
|
|
36
45
|
*/
|
|
37
46
|
export function createTableNameMapper(namespace: string): TableNameMapper {
|
|
47
|
+
const sanitized = sanitizeNamespace(namespace);
|
|
38
48
|
return {
|
|
39
|
-
toPhysical: (logicalName: string) => `${logicalName}_${
|
|
49
|
+
toPhysical: (logicalName: string) => `${logicalName}_${sanitized}`,
|
|
40
50
|
toLogical: (physicalName: string) => {
|
|
41
|
-
if (physicalName.endsWith(`_${
|
|
42
|
-
return physicalName.slice(0, -(
|
|
51
|
+
if (physicalName.endsWith(`_${sanitized}`)) {
|
|
52
|
+
return physicalName.slice(0, -(sanitized.length + 1));
|
|
43
53
|
}
|
|
44
54
|
return physicalName;
|
|
45
55
|
},
|
|
@@ -801,6 +801,11 @@ export function createUnitOfWork<
|
|
|
801
801
|
>;
|
|
802
802
|
}
|
|
803
803
|
|
|
804
|
+
export interface UnitOfWorkConfig {
|
|
805
|
+
dryRun?: boolean;
|
|
806
|
+
onQuery?: (query: unknown) => void;
|
|
807
|
+
}
|
|
808
|
+
|
|
804
809
|
/**
|
|
805
810
|
* Unit of Work implementation with optimistic concurrency control
|
|
806
811
|
*
|
|
@@ -835,13 +840,19 @@ export class UnitOfWork<
|
|
|
835
840
|
const TRawInput = unknown,
|
|
836
841
|
> {
|
|
837
842
|
#schema: TSchema;
|
|
843
|
+
|
|
838
844
|
#name?: string;
|
|
845
|
+
#config?: UnitOfWorkConfig;
|
|
846
|
+
|
|
839
847
|
#state: UOWState = "building-retrieval";
|
|
848
|
+
|
|
840
849
|
#retrievalOps: RetrievalOperation<TSchema>[] = [];
|
|
841
850
|
#mutationOps: MutationOperation<TSchema>[] = [];
|
|
851
|
+
|
|
842
852
|
#compiler: UOWCompiler<TSchema, unknown>;
|
|
843
853
|
#executor: UOWExecutor<unknown, TRawInput>;
|
|
844
854
|
#decoder: UOWDecoder<TSchema, TRawInput>;
|
|
855
|
+
|
|
845
856
|
#retrievalResults?: TRetrievalResults;
|
|
846
857
|
#createdInternalIds: (bigint | null)[] = [];
|
|
847
858
|
|
|
@@ -851,12 +862,14 @@ export class UnitOfWork<
|
|
|
851
862
|
executor: UOWExecutor<unknown, TRawInput>,
|
|
852
863
|
decoder: UOWDecoder<TSchema, TRawInput>,
|
|
853
864
|
name?: string,
|
|
865
|
+
config?: UnitOfWorkConfig,
|
|
854
866
|
) {
|
|
855
867
|
this.#schema = schema;
|
|
856
868
|
this.#compiler = compiler;
|
|
857
869
|
this.#executor = executor;
|
|
858
870
|
this.#decoder = decoder;
|
|
859
871
|
this.#name = name;
|
|
872
|
+
this.#config = config;
|
|
860
873
|
}
|
|
861
874
|
|
|
862
875
|
get schema(): TSchema {
|
|
@@ -891,10 +904,17 @@ export class UnitOfWork<
|
|
|
891
904
|
for (const op of this.#retrievalOps) {
|
|
892
905
|
const compiled = this.#compiler.compileRetrievalOperation(op);
|
|
893
906
|
if (compiled !== null) {
|
|
907
|
+
this.#config?.onQuery?.(compiled);
|
|
908
|
+
|
|
894
909
|
retrievalBatch.push(compiled);
|
|
895
910
|
}
|
|
896
911
|
}
|
|
897
912
|
|
|
913
|
+
if (this.#config?.dryRun) {
|
|
914
|
+
this.#state = "executed";
|
|
915
|
+
return [] as unknown as TRetrievalResults;
|
|
916
|
+
}
|
|
917
|
+
|
|
898
918
|
const results = this.#decoder(
|
|
899
919
|
await this.#executor.executeRetrievalPhase(retrievalBatch),
|
|
900
920
|
this.#retrievalOps,
|
|
@@ -1099,10 +1119,18 @@ export class UnitOfWork<
|
|
|
1099
1119
|
for (const op of this.#mutationOps) {
|
|
1100
1120
|
const compiled = this.#compiler.compileMutationOperation(op);
|
|
1101
1121
|
if (compiled !== null) {
|
|
1122
|
+
this.#config?.onQuery?.(compiled);
|
|
1102
1123
|
mutationBatch.push(compiled);
|
|
1103
1124
|
}
|
|
1104
1125
|
}
|
|
1105
1126
|
|
|
1127
|
+
if (this.#config?.dryRun) {
|
|
1128
|
+
this.#state = "executed";
|
|
1129
|
+
return {
|
|
1130
|
+
success: true,
|
|
1131
|
+
};
|
|
1132
|
+
}
|
|
1133
|
+
|
|
1106
1134
|
// Execute mutation phase
|
|
1107
1135
|
const result = await this.#executor.executeMutationPhase(mutationBatch);
|
|
1108
1136
|
this.#state = "executed";
|
package/tsdown.config.ts
CHANGED
|
@@ -9,6 +9,7 @@ export default defineConfig({
|
|
|
9
9
|
"./src/adapters/adapters.ts",
|
|
10
10
|
"./src/adapters/kysely/kysely-adapter.ts",
|
|
11
11
|
"./src/adapters/drizzle/drizzle-adapter.ts",
|
|
12
|
+
"./src/adapters/drizzle/generate.ts",
|
|
12
13
|
"./src/query/unit-of-work.ts",
|
|
13
14
|
"./src/query/cursor.ts",
|
|
14
15
|
"./src/fragment.ts",
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
//#region ../../node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql+pglite@0.3.11_@libsql+client@0.15.15_@types+better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/table.utils.js
|
|
2
|
-
const TableName = Symbol.for("drizzle:Name");
|
|
3
|
-
|
|
4
|
-
//#endregion
|
|
5
|
-
export { TableName };
|
|
6
|
-
//# sourceMappingURL=table.utils.js.map
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
//#region ../../node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql+pglite@0.3.11_@libsql+client@0.15.15_@types+better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/tracing-utils.js
|
|
2
|
-
function iife(fn, ...args) {
|
|
3
|
-
return fn(...args);
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
//#endregion
|
|
7
|
-
export { iife };
|
|
8
|
-
//# sourceMappingURL=tracing-utils.js.map
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
//#region ../../node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql+pglite@0.3.11_@libsql+client@0.15.15_@types+better-sql_aee8b50e4fe3dba0cf9f533329f36260/node_modules/drizzle-orm/tracing.js
|
|
2
|
-
const tracer = { startActiveSpan(name, fn) {
|
|
3
|
-
return fn();
|
|
4
|
-
} };
|
|
5
|
-
|
|
6
|
-
//#endregion
|
|
7
|
-
export { tracer };
|
|
8
|
-
//# sourceMappingURL=tracing.js.map
|