@fragno-dev/db 0.3.0 → 0.4.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/.turbo/turbo-build.log +327 -160
- package/CHANGELOG.md +74 -0
- package/README.md +24 -0
- package/dist/adapters/adapters.d.ts +1 -1
- package/dist/adapters/adapters.d.ts.map +1 -1
- package/dist/adapters/adapters.js.map +1 -1
- package/dist/adapters/generic-sql/generic-sql-adapter.d.ts +0 -3
- package/dist/adapters/generic-sql/generic-sql-adapter.d.ts.map +1 -1
- package/dist/adapters/generic-sql/generic-sql-adapter.js +11 -12
- package/dist/adapters/generic-sql/generic-sql-adapter.js.map +1 -1
- package/dist/adapters/generic-sql/generic-sql-uow-executor.js +46 -6
- package/dist/adapters/generic-sql/generic-sql-uow-executor.js.map +1 -1
- package/dist/adapters/generic-sql/migration/cold-kysely.js.map +1 -1
- package/dist/adapters/generic-sql/migration/dialect/mysql.js +1 -1
- package/dist/adapters/generic-sql/migration/dialect/mysql.js.map +1 -1
- package/dist/adapters/generic-sql/migration/dialect/postgres.js +1 -1
- package/dist/adapters/generic-sql/migration/dialect/postgres.js.map +1 -1
- package/dist/adapters/generic-sql/migration/dialect/sqlite.js +185 -19
- package/dist/adapters/generic-sql/migration/dialect/sqlite.js.map +1 -1
- package/dist/adapters/generic-sql/migration/executor.d.ts.map +1 -1
- package/dist/adapters/generic-sql/migration/executor.js +30 -3
- package/dist/adapters/generic-sql/migration/executor.js.map +1 -1
- package/dist/adapters/generic-sql/migration/prepared-migrations.d.ts.map +1 -1
- package/dist/adapters/generic-sql/migration/prepared-migrations.js +3 -3
- package/dist/adapters/generic-sql/migration/prepared-migrations.js.map +1 -1
- package/dist/adapters/generic-sql/migration/sql-generator.js +1 -1
- package/dist/adapters/generic-sql/migration/sql-generator.js.map +1 -1
- package/dist/adapters/generic-sql/query/create-sql-query-compiler.js +1 -1
- package/dist/adapters/generic-sql/query/create-sql-query-compiler.js.map +1 -1
- package/dist/adapters/generic-sql/query/cursor-utils.js.map +1 -1
- package/dist/adapters/generic-sql/query/db-now-sql.js +27 -0
- package/dist/adapters/generic-sql/query/db-now-sql.js.map +1 -0
- package/dist/adapters/generic-sql/query/generic-sql-uow-operation-compiler.js +9 -6
- package/dist/adapters/generic-sql/query/generic-sql-uow-operation-compiler.js.map +1 -1
- package/dist/adapters/generic-sql/query/select-builder.js.map +1 -1
- package/dist/adapters/generic-sql/query/sql-query-compiler.js +37 -9
- package/dist/adapters/generic-sql/query/sql-query-compiler.js.map +1 -1
- package/dist/adapters/generic-sql/query/where-builder.js +24 -20
- package/dist/adapters/generic-sql/query/where-builder.js.map +1 -1
- package/dist/adapters/generic-sql/uow-decoder.js +1 -1
- package/dist/adapters/generic-sql/uow-decoder.js.map +1 -1
- package/dist/adapters/generic-sql/uow-encoder.js +8 -9
- package/dist/adapters/generic-sql/uow-encoder.js.map +1 -1
- package/dist/adapters/in-memory/condition-evaluator.js +10 -6
- package/dist/adapters/in-memory/condition-evaluator.js.map +1 -1
- package/dist/adapters/in-memory/in-memory-adapter.d.ts.map +1 -1
- package/dist/adapters/in-memory/in-memory-adapter.js +45 -25
- package/dist/adapters/in-memory/in-memory-adapter.js.map +1 -1
- package/dist/adapters/in-memory/in-memory-uow.js +236 -13
- package/dist/adapters/in-memory/in-memory-uow.js.map +1 -1
- package/dist/adapters/in-memory/options.d.ts +2 -0
- package/dist/adapters/in-memory/options.d.ts.map +1 -1
- package/dist/adapters/in-memory/options.js +3 -2
- package/dist/adapters/in-memory/options.js.map +1 -1
- package/dist/adapters/in-memory/reference-resolution.js.map +1 -1
- package/dist/adapters/in-memory/store.js +1 -1
- package/dist/adapters/in-memory/store.js.map +1 -1
- package/dist/adapters/shared/from-unit-of-work-compiler.js +51 -24
- package/dist/adapters/shared/from-unit-of-work-compiler.js.map +1 -1
- package/dist/adapters/shared/uow-operation-compiler.js.map +1 -1
- package/dist/browser/adapters/adapters.d.ts +61 -0
- package/dist/browser/adapters/adapters.d.ts.map +1 -0
- package/dist/browser/adapters/generic-sql/migration/executor.d.ts +15 -0
- package/dist/browser/adapters/generic-sql/migration/executor.d.ts.map +1 -0
- package/dist/browser/adapters/generic-sql/migration/prepared-migrations.d.ts +66 -0
- package/dist/browser/adapters/generic-sql/migration/prepared-migrations.d.ts.map +1 -0
- package/dist/browser/adapters/generic-sql/sqlite-storage.d.ts +11 -0
- package/dist/browser/adapters/generic-sql/sqlite-storage.d.ts.map +1 -0
- package/dist/browser/adapters/in-memory/in-memory-adapter.d.ts +5 -0
- package/dist/browser/adapters/in-memory/index.d.ts +2 -0
- package/dist/browser/adapters/in-memory/options.d.ts +1 -0
- package/dist/browser/db-fragment-definition-builder.d.ts +237 -0
- package/dist/browser/db-fragment-definition-builder.d.ts.map +1 -0
- package/dist/browser/durable-hooks.d.ts +3 -0
- package/dist/browser/fragments/internal-fragment.d.ts +317 -0
- package/dist/browser/fragments/internal-fragment.d.ts.map +1 -0
- package/dist/browser/fragments/internal-fragment.schema.d.ts +1 -0
- package/dist/browser/hooks/durable-hooks-logger.d.ts +10 -0
- package/dist/browser/hooks/durable-hooks-logger.d.ts.map +1 -0
- package/dist/browser/hooks/hooks.d.ts +146 -0
- package/dist/browser/hooks/hooks.d.ts.map +1 -0
- package/dist/browser/id.js +1 -0
- package/dist/browser/internal/adapter-registry.d.ts +4 -0
- package/dist/browser/internal/outbox-state.d.ts +2 -0
- package/dist/browser/mod.d.ts +15 -0
- package/dist/browser/mod.d.ts.map +1 -0
- package/dist/browser/mod.js +17 -0
- package/dist/browser/mod.js.map +1 -0
- package/dist/browser/mod2.d.ts +48 -0
- package/dist/browser/mod2.d.ts.map +1 -0
- package/dist/browser/naming/sql-naming.d.ts +19 -0
- package/dist/browser/naming/sql-naming.d.ts.map +1 -0
- package/dist/browser/outbox/outbox.d.ts +21 -0
- package/dist/browser/outbox/outbox.d.ts.map +1 -0
- package/dist/browser/query/column-defaults.js +1 -0
- package/dist/browser/query/condition-builder.d.ts +44 -0
- package/dist/browser/query/condition-builder.d.ts.map +1 -0
- package/dist/browser/query/condition-builder.js +97 -0
- package/dist/browser/query/condition-builder.js.map +1 -0
- package/dist/browser/query/cursor.d.ts +105 -0
- package/dist/browser/query/cursor.d.ts.map +1 -0
- package/dist/browser/query/cursor.js +150 -0
- package/dist/browser/query/cursor.js.map +1 -0
- package/dist/browser/query/db-now.d.ts +22 -0
- package/dist/browser/query/db-now.d.ts.map +1 -0
- package/dist/browser/query/db-now.js +33 -0
- package/dist/browser/query/db-now.js.map +1 -0
- package/dist/browser/query/orm/orm.d.ts +18 -0
- package/dist/browser/query/orm/orm.d.ts.map +1 -0
- package/dist/browser/query/simple-query-interface.d.ts +108 -0
- package/dist/browser/query/simple-query-interface.d.ts.map +1 -0
- package/dist/browser/query/unit-of-work/execute-unit-of-work.d.ts +423 -0
- package/dist/browser/query/unit-of-work/execute-unit-of-work.d.ts.map +1 -0
- package/dist/browser/query/unit-of-work/execute-unit-of-work.js +507 -0
- package/dist/browser/query/unit-of-work/execute-unit-of-work.js.map +1 -0
- package/dist/browser/query/unit-of-work/retry-policy.d.ts +23 -0
- package/dist/browser/query/unit-of-work/retry-policy.d.ts.map +1 -0
- package/dist/browser/query/unit-of-work/retry-policy.js +40 -0
- package/dist/browser/query/unit-of-work/retry-policy.js.map +1 -0
- package/dist/browser/query/unit-of-work/unit-of-work.d.ts +703 -0
- package/dist/browser/query/unit-of-work/unit-of-work.d.ts.map +1 -0
- package/dist/browser/query/unit-of-work/unit-of-work.js +1206 -0
- package/dist/browser/query/unit-of-work/unit-of-work.js.map +1 -0
- package/dist/browser/query/value-encoding.js +38 -0
- package/dist/browser/query/value-encoding.js.map +1 -0
- package/dist/browser/schema/create.d.ts +326 -0
- package/dist/browser/schema/create.d.ts.map +1 -0
- package/dist/browser/schema/create.js +89 -0
- package/dist/browser/schema/create.js.map +1 -0
- package/dist/browser/schema/generate-id.js +28 -0
- package/dist/browser/schema/generate-id.js.map +1 -0
- package/dist/browser/shared/providers.d.ts +6 -0
- package/dist/browser/shared/providers.d.ts.map +1 -0
- package/dist/browser/sql-driver/connection/connection-provider.d.ts +13 -0
- package/dist/browser/sql-driver/connection/connection-provider.d.ts.map +1 -0
- package/dist/browser/sql-driver/dialect-adapter/dialect-adapter.d.ts +7 -0
- package/dist/browser/sql-driver/dialect-adapter/dialect-adapter.d.ts.map +1 -0
- package/dist/browser/sql-driver/driver/runtime-driver.d.ts +23 -0
- package/dist/browser/sql-driver/driver/runtime-driver.d.ts.map +1 -0
- package/dist/browser/sql-driver/query-executor/plugin.d.ts +17 -0
- package/dist/browser/sql-driver/query-executor/plugin.d.ts.map +1 -0
- package/dist/browser/sql-driver/query-executor/query-executor.d.ts +36 -0
- package/dist/browser/sql-driver/query-executor/query-executor.d.ts.map +1 -0
- package/dist/browser/sql-driver/sql-driver-adapter.d.ts +29 -0
- package/dist/browser/sql-driver/sql-driver-adapter.d.ts.map +1 -0
- package/dist/browser/sql-driver/sql-driver.d.ts +38 -0
- package/dist/browser/sql-driver/sql-driver.d.ts.map +1 -0
- package/dist/browser/sync/commands.d.ts +15 -0
- package/dist/browser/sync/commands.d.ts.map +1 -0
- package/dist/browser/sync/commands.js +27 -0
- package/dist/browser/sync/commands.js.map +1 -0
- package/dist/browser/sync/types.d.ts +63 -0
- package/dist/browser/sync/types.d.ts.map +1 -0
- package/dist/browser/util/types.d.ts +8 -0
- package/dist/browser/util/types.d.ts.map +1 -0
- package/dist/browser/with-database.d.ts +29 -0
- package/dist/browser/with-database.d.ts.map +1 -0
- package/dist/client.d.ts +4 -0
- package/dist/client.js +5 -0
- package/dist/db-fragment-definition-builder.d.ts +85 -28
- package/dist/db-fragment-definition-builder.d.ts.map +1 -1
- package/dist/db-fragment-definition-builder.js +374 -46
- package/dist/db-fragment-definition-builder.js.map +1 -1
- package/dist/dispatchers/cloudflare-do/dispatcher.d.ts +20 -0
- package/dist/dispatchers/cloudflare-do/dispatcher.d.ts.map +1 -0
- package/dist/dispatchers/cloudflare-do/dispatcher.js +147 -0
- package/dist/dispatchers/cloudflare-do/dispatcher.js.map +1 -0
- package/dist/dispatchers/cloudflare-do/index.d.ts +5 -20
- package/dist/dispatchers/cloudflare-do/index.d.ts.map +1 -1
- package/dist/dispatchers/cloudflare-do/index.js +23 -55
- package/dist/dispatchers/cloudflare-do/index.js.map +1 -1
- package/dist/dispatchers/node/dispatcher.d.ts +14 -0
- package/dist/dispatchers/node/dispatcher.d.ts.map +1 -0
- package/dist/dispatchers/node/dispatcher.js +80 -0
- package/dist/dispatchers/node/dispatcher.js.map +1 -0
- package/dist/dispatchers/node/index.d.ts +5 -10
- package/dist/dispatchers/node/index.d.ts.map +1 -1
- package/dist/dispatchers/node/index.js +21 -53
- package/dist/dispatchers/node/index.js.map +1 -1
- package/dist/durable-hooks.d.ts +31 -0
- package/dist/durable-hooks.d.ts.map +1 -0
- package/dist/durable-hooks.js +23 -0
- package/dist/durable-hooks.js.map +1 -0
- package/dist/fragments/internal-fragment.d.ts +128 -27
- package/dist/fragments/internal-fragment.d.ts.map +1 -1
- package/dist/fragments/internal-fragment.js +125 -78
- package/dist/fragments/internal-fragment.js.map +1 -1
- package/dist/fragments/internal-fragment.routes.js +138 -3
- package/dist/fragments/internal-fragment.routes.js.map +1 -1
- package/dist/fragments/internal-fragment.schema.d.ts +7 -1
- package/dist/fragments/internal-fragment.schema.d.ts.map +1 -1
- package/dist/fragments/internal-fragment.schema.js +18 -1
- package/dist/fragments/internal-fragment.schema.js.map +1 -1
- package/dist/hooks/durable-hooks-logger.d.ts +10 -0
- package/dist/hooks/durable-hooks-logger.d.ts.map +1 -0
- package/dist/hooks/durable-hooks-logger.js +75 -0
- package/dist/hooks/durable-hooks-logger.js.map +1 -0
- package/dist/hooks/durable-hooks-processor.d.ts +1 -14
- package/dist/hooks/durable-hooks-processor.js +58 -10
- package/dist/hooks/durable-hooks-processor.js.map +1 -1
- package/dist/hooks/durable-hooks-runtime.js +44 -0
- package/dist/hooks/durable-hooks-runtime.js.map +1 -0
- package/dist/hooks/hooks.d.ts +60 -2
- package/dist/hooks/hooks.d.ts.map +1 -1
- package/dist/hooks/hooks.js +214 -53
- package/dist/hooks/hooks.js.map +1 -1
- package/dist/id.d.ts +2 -2
- package/dist/id.js +2 -2
- package/dist/internal/adapter-registry.d.ts +11 -0
- package/dist/internal/adapter-registry.d.ts.map +1 -0
- package/dist/internal/adapter-registry.js +135 -0
- package/dist/internal/adapter-registry.js.map +1 -0
- package/dist/internal/outbox-state.d.ts +2 -0
- package/dist/internal/outbox-state.js +26 -0
- package/dist/internal/outbox-state.js.map +1 -0
- package/dist/migration-engine/auto-from-schema.d.ts +33 -0
- package/dist/migration-engine/auto-from-schema.d.ts.map +1 -0
- package/dist/migration-engine/auto-from-schema.js +210 -27
- package/dist/migration-engine/auto-from-schema.js.map +1 -1
- package/dist/migration-engine/generation-engine.d.ts.map +1 -1
- package/dist/migration-engine/generation-engine.js +17 -5
- package/dist/migration-engine/generation-engine.js.map +1 -1
- package/dist/migration-engine/shared.d.ts +113 -0
- package/dist/migration-engine/shared.d.ts.map +1 -0
- package/dist/migration-engine/shared.js.map +1 -1
- package/dist/mod.d.ts +12 -11
- package/dist/mod.d.ts.map +1 -1
- package/dist/mod.js +10 -10
- package/dist/mod.js.map +1 -1
- package/dist/naming/sql-naming.d.ts.map +1 -1
- package/dist/naming/sql-naming.js.map +1 -1
- package/dist/outbox/outbox-builder.js.map +1 -1
- package/dist/outbox/outbox.d.ts +3 -1
- package/dist/outbox/outbox.d.ts.map +1 -1
- package/dist/outbox/outbox.js.map +1 -1
- package/dist/query/column-defaults.js.map +1 -1
- package/dist/query/condition-builder.d.ts +7 -1
- package/dist/query/condition-builder.d.ts.map +1 -1
- package/dist/query/condition-builder.js +5 -1
- package/dist/query/condition-builder.js.map +1 -1
- package/dist/query/cursor-client.d.ts +105 -0
- package/dist/query/cursor-client.d.ts.map +1 -0
- package/dist/query/cursor-client.js +165 -0
- package/dist/query/cursor-client.js.map +1 -0
- package/dist/query/cursor.d.ts.map +1 -1
- package/dist/query/cursor.js +7 -1
- package/dist/query/cursor.js.map +1 -1
- package/dist/query/db-now.d.ts +15 -1
- package/dist/query/db-now.d.ts.map +1 -1
- package/dist/query/db-now.js +30 -2
- package/dist/query/db-now.js.map +1 -1
- package/dist/query/orm/orm.js.map +1 -1
- package/dist/query/serialize/create-sql-serializer.js +2 -2
- package/dist/query/serialize/create-sql-serializer.js.map +1 -1
- package/dist/query/serialize/dialect/mysql-serializer.js.map +1 -1
- package/dist/query/serialize/dialect/postgres-serializer.js.map +1 -1
- package/dist/query/serialize/dialect/sqlite-serializer.js +6 -2
- package/dist/query/serialize/dialect/sqlite-serializer.js.map +1 -1
- package/dist/query/simple-query-interface.d.ts +7 -3
- package/dist/query/simple-query-interface.d.ts.map +1 -1
- package/dist/query/unit-of-work/execute-unit-of-work.d.ts +37 -2
- package/dist/query/unit-of-work/execute-unit-of-work.d.ts.map +1 -1
- package/dist/query/unit-of-work/execute-unit-of-work.js +39 -18
- package/dist/query/unit-of-work/execute-unit-of-work.js.map +1 -1
- package/dist/query/unit-of-work/unit-of-work.d.ts +42 -16
- package/dist/query/unit-of-work/unit-of-work.d.ts.map +1 -1
- package/dist/query/unit-of-work/unit-of-work.js +50 -6
- package/dist/query/unit-of-work/unit-of-work.js.map +1 -1
- package/dist/query/value-decoding.js +8 -1
- package/dist/query/value-decoding.js.map +1 -1
- package/dist/query/value-encoding.js.map +1 -1
- package/dist/schema/create.d.ts +69 -25
- package/dist/schema/create.d.ts.map +1 -1
- package/dist/schema/create.js +91 -16
- package/dist/schema/create.js.map +1 -1
- package/dist/schema/type-conversion/create-sql-type-mapper.js +1 -1
- package/dist/schema/type-conversion/create-sql-type-mapper.js.map +1 -1
- package/dist/schema/type-conversion/dialect/sqlite.js.map +1 -1
- package/dist/schema/validator.d.ts.map +1 -1
- package/dist/schema/validator.js.map +1 -1
- package/dist/schema-output/drizzle.d.ts.map +1 -1
- package/dist/schema-output/drizzle.js +8 -6
- package/dist/schema-output/drizzle.js.map +1 -1
- package/dist/schema-output/prisma.d.ts.map +1 -1
- package/dist/schema-output/prisma.js +21 -10
- package/dist/schema-output/prisma.js.map +1 -1
- package/dist/sql-driver/dialects/durable-object-dialect.js +3 -9
- package/dist/sql-driver/dialects/durable-object-dialect.js.map +1 -1
- package/dist/sql-driver/query-executor/default-query-executor.js.map +1 -1
- package/dist/sql-driver/query-executor/query-executor-base.js.map +1 -1
- package/dist/sql-driver/sql-driver-adapter.js.map +1 -1
- package/dist/sql-driver/sql.js.map +1 -1
- package/dist/sync/commands.d.ts +15 -0
- package/dist/sync/commands.d.ts.map +1 -0
- package/dist/sync/commands.js +27 -0
- package/dist/sync/commands.js.map +1 -0
- package/dist/sync/index.d.ts +4 -0
- package/dist/sync/index.js +4 -0
- package/dist/sync/read-tracking.d.ts +25 -0
- package/dist/sync/read-tracking.d.ts.map +1 -0
- package/dist/sync/read-tracking.js +148 -0
- package/dist/sync/read-tracking.js.map +1 -0
- package/dist/sync/submit.js +213 -0
- package/dist/sync/submit.js.map +1 -0
- package/dist/sync/types.d.ts +63 -0
- package/dist/sync/types.d.ts.map +1 -0
- package/dist/util/default-database-adapter.js +6 -1
- package/dist/util/default-database-adapter.js.map +1 -1
- package/dist/with-database.d.ts +3 -6
- package/dist/with-database.d.ts.map +1 -1
- package/dist/with-database.js +7 -15
- package/dist/with-database.js.map +1 -1
- package/package.json +33 -41
- package/src/adapters/adapters.ts +5 -4
- package/src/adapters/drizzle/migrate-drizzle.test.ts +46 -9
- package/src/adapters/drizzle/migration-parity-drizzle-kit.test.ts +5 -3
- package/src/adapters/drizzle/test-utils.ts +2 -1
- package/src/adapters/generic-sql/generic-sql-adapter.test.ts +5 -3
- package/src/adapters/generic-sql/generic-sql-adapter.ts +21 -24
- package/src/adapters/generic-sql/generic-sql-uow-executor.test.ts +1 -0
- package/src/adapters/generic-sql/generic-sql-uow-executor.ts +81 -15
- package/src/adapters/generic-sql/migration/adapter-migration-parity.test.ts +4 -2
- package/src/adapters/generic-sql/migration/cold-kysely.ts +1 -0
- package/src/adapters/generic-sql/migration/dialect/mysql.test.ts +3 -2
- package/src/adapters/generic-sql/migration/dialect/mysql.ts +1 -0
- package/src/adapters/generic-sql/migration/dialect/postgres.test.ts +5 -4
- package/src/adapters/generic-sql/migration/dialect/postgres.ts +2 -1
- package/src/adapters/generic-sql/migration/dialect/sqlite.test.ts +795 -3
- package/src/adapters/generic-sql/migration/dialect/sqlite.ts +385 -57
- package/src/adapters/generic-sql/migration/executor.test.ts +52 -0
- package/src/adapters/generic-sql/migration/executor.ts +47 -4
- package/src/adapters/generic-sql/migration/prepared-migrations.test.ts +117 -14
- package/src/adapters/generic-sql/migration/prepared-migrations.ts +9 -8
- package/src/adapters/generic-sql/migration/sql-generator.ts +5 -3
- package/src/adapters/generic-sql/query/create-sql-query-compiler.ts +3 -3
- package/src/adapters/generic-sql/query/cursor-utils.test.ts +3 -2
- package/src/adapters/generic-sql/query/cursor-utils.ts +1 -1
- package/src/adapters/generic-sql/query/db-now-sql.ts +49 -0
- package/src/adapters/generic-sql/query/generic-sql-uow-operation-compiler.test.ts +144 -8
- package/src/adapters/generic-sql/query/generic-sql-uow-operation-compiler.ts +16 -17
- package/src/adapters/generic-sql/query/select-builder.test.ts +1 -0
- package/src/adapters/generic-sql/query/select-builder.ts +2 -2
- package/src/adapters/generic-sql/query/sql-query-compiler.test.ts +24 -5
- package/src/adapters/generic-sql/query/sql-query-compiler.ts +83 -13
- package/src/adapters/generic-sql/query/where-builder.test.ts +7 -5
- package/src/adapters/generic-sql/query/where-builder.ts +48 -29
- package/src/adapters/generic-sql/sql-adapter-pglite-migrations.test.ts +6 -15
- package/src/adapters/generic-sql/sql-adapter-pglite-pagination.test.ts +52 -7
- package/src/adapters/generic-sql/sql-adapter-pglite-queries.test.ts +9 -6
- package/src/adapters/generic-sql/sql-adapter-sqlite3-driver.test.ts +273 -5
- package/src/adapters/generic-sql/sql-adapter-sqlite3-uow.test.ts +123 -6
- package/src/adapters/generic-sql/sql-adapter-sqlocal.test.ts +4 -2
- package/src/adapters/generic-sql/uow-decoder.test.ts +4 -3
- package/src/adapters/generic-sql/uow-decoder.ts +3 -3
- package/src/adapters/generic-sql/uow-encoder.test.ts +4 -2
- package/src/adapters/generic-sql/uow-encoder.ts +14 -18
- package/src/adapters/in-memory/condition-evaluator.test.ts +2 -1
- package/src/adapters/in-memory/condition-evaluator.ts +9 -4
- package/src/adapters/in-memory/in-memory-adapter.ts +155 -44
- package/src/adapters/in-memory/in-memory-uow.mutations.test.ts +50 -2
- package/src/adapters/in-memory/in-memory-uow.retrieval.test.ts +158 -3
- package/src/adapters/in-memory/in-memory-uow.ts +402 -26
- package/src/adapters/in-memory/options.test.ts +1 -0
- package/src/adapters/in-memory/options.ts +5 -1
- package/src/adapters/in-memory/outbox.test.ts +361 -0
- package/src/adapters/in-memory/reference-resolution.test.ts +3 -2
- package/src/adapters/in-memory/reference-resolution.ts +2 -2
- package/src/adapters/in-memory/sorted-array-index.test.ts +1 -0
- package/src/adapters/in-memory/store.test.ts +1 -0
- package/src/adapters/in-memory/store.ts +3 -3
- package/src/adapters/in-memory/value-normalization.test.ts +1 -0
- package/src/adapters/prisma/prisma-adapter-sqlite3.test.ts +51 -7
- package/src/adapters/shared/from-unit-of-work-compiler.ts +156 -46
- package/src/adapters/shared/uow-operation-compiler.ts +3 -3
- package/src/browser/mod.ts +64 -0
- package/src/client.ts +19 -0
- package/src/db-fragment-definition-builder.test.ts +821 -47
- package/src/db-fragment-definition-builder.ts +857 -110
- package/src/db-fragment-instantiator.test.ts +114 -90
- package/src/db-fragment-integration.test.ts +9 -6
- package/src/dispatchers/cloudflare-do/dispatcher.ts +204 -0
- package/src/dispatchers/cloudflare-do/index.test.ts +145 -12
- package/src/dispatchers/cloudflare-do/index.ts +49 -90
- package/src/dispatchers/node/dispatcher.ts +112 -0
- package/src/dispatchers/node/index.test.ts +43 -14
- package/src/dispatchers/node/index.ts +38 -75
- package/src/durable-hooks.test.ts +80 -0
- package/src/durable-hooks.ts +67 -0
- package/src/fragments/internal-fragment.routes.test.ts +570 -0
- package/src/fragments/internal-fragment.routes.ts +297 -5
- package/src/fragments/internal-fragment.schema.ts +45 -1
- package/src/fragments/internal-fragment.test.ts +223 -251
- package/src/fragments/internal-fragment.ts +278 -154
- package/src/hooks/durable-hooks-logger.ts +126 -0
- package/src/hooks/durable-hooks-processor.pglite.test.ts +87 -0
- package/src/hooks/durable-hooks-processor.test.ts +179 -14
- package/src/hooks/durable-hooks-processor.ts +120 -14
- package/src/hooks/durable-hooks-runtime.test.ts +65 -0
- package/src/hooks/durable-hooks-runtime.ts +81 -0
- package/src/hooks/hooks.test.ts +314 -53
- package/src/hooks/hooks.ts +360 -81
- package/src/id.test.ts +34 -0
- package/src/id.ts +1 -3
- package/src/internal/adapter-registry.test.ts +93 -0
- package/src/internal/adapter-registry.ts +239 -0
- package/src/internal/outbox-state.ts +43 -0
- package/src/migration-engine/auto-from-schema.test.ts +93 -0
- package/src/migration-engine/auto-from-schema.ts +360 -42
- package/src/migration-engine/create.test.ts +2 -1
- package/src/migration-engine/create.ts +1 -1
- package/src/migration-engine/generation-engine.test.ts +66 -9
- package/src/migration-engine/generation-engine.ts +31 -10
- package/src/migration-engine/shared.ts +13 -0
- package/src/mod.ts +45 -27
- package/src/naming/sql-naming.ts +1 -0
- package/src/outbox/outbox-builder.ts +2 -2
- package/src/outbox/outbox.test.ts +216 -45
- package/src/outbox/outbox.ts +3 -1
- package/src/query/column-defaults.ts +1 -1
- package/src/query/condition-builder.test.ts +15 -0
- package/src/query/condition-builder.ts +7 -0
- package/src/query/cursor-client.test.ts +70 -0
- package/src/query/cursor-client.ts +263 -0
- package/src/query/cursor.test.ts +3 -2
- package/src/query/cursor.ts +15 -3
- package/src/query/db-now.ts +69 -2
- package/src/query/orm/orm.ts +2 -2
- package/src/query/query-type.test.ts +2 -1
- package/src/query/serialize/create-sql-serializer.ts +3 -3
- package/src/query/serialize/dialect/mysql-serializer.ts +1 -1
- package/src/query/serialize/dialect/postgres-serializer.ts +1 -1
- package/src/query/serialize/dialect/sqlite-serializer.test.ts +39 -2
- package/src/query/serialize/dialect/sqlite-serializer.ts +18 -5
- package/src/query/simple-query-interface.ts +10 -4
- package/src/query/unit-of-work/execute-unit-of-work.test.ts +347 -9
- package/src/query/unit-of-work/execute-unit-of-work.ts +63 -20
- package/src/query/unit-of-work/retry-policy.test.ts +1 -0
- package/src/query/unit-of-work/tx-builder.test.ts +73 -1
- package/src/query/unit-of-work/unit-of-work-coordinator.test.ts +5 -4
- package/src/query/unit-of-work/unit-of-work-types.test.ts +41 -11
- package/src/query/unit-of-work/unit-of-work.test.ts +28 -2
- package/src/query/unit-of-work/unit-of-work.ts +105 -19
- package/src/query/value-decoding.test.ts +50 -2
- package/src/query/value-decoding.ts +17 -4
- package/src/query/value-encoding.test.ts +1 -0
- package/src/query/value-encoding.ts +1 -1
- package/src/schema/create.test.ts +164 -5
- package/src/schema/create.ts +222 -24
- package/src/schema/generate-id.test.ts +1 -0
- package/src/schema/serialize.test.ts +4 -3
- package/src/schema/type-conversion/create-sql-type-mapper.ts +1 -1
- package/src/schema/type-conversion/dialect/sqlite.ts +2 -2
- package/src/schema/type-conversion/type-mapping.test.ts +2 -1
- package/src/schema/validator.test.ts +4 -2
- package/src/schema/validator.ts +1 -0
- package/src/schema-output/drizzle.test.ts +72 -19
- package/src/schema-output/drizzle.ts +24 -18
- package/src/schema-output/prisma.test.ts +172 -14
- package/src/schema-output/prisma.ts +34 -14
- package/src/sql-driver/better-sqlite3.test.ts +5 -3
- package/src/sql-driver/dialects/durable-object-dialect.ts +3 -8
- package/src/sql-driver/query-executor/default-query-executor.ts +1 -1
- package/src/sql-driver/query-executor/query-executor-base.ts +1 -1
- package/src/sql-driver/query-executor/query-executor.ts +1 -1
- package/src/sql-driver/sql-driver-adapter.ts +2 -2
- package/src/sql-driver/sql.ts +2 -1
- package/src/sql-driver/sqlocal.test.ts +4 -2
- package/src/sync/commands.test.ts +39 -0
- package/src/sync/commands.ts +51 -0
- package/src/sync/conflict-checker.test.ts +450 -0
- package/src/sync/conflict-checker.ts +248 -0
- package/src/sync/index.ts +14 -0
- package/src/sync/plan.ts +9 -0
- package/src/sync/read-tracking.test.ts +177 -0
- package/src/sync/read-tracking.ts +287 -0
- package/src/sync/submit.test.ts +205 -0
- package/src/sync/submit.ts +328 -0
- package/src/sync/types.ts +80 -0
- package/src/util/default-database-adapter.ts +15 -2
- package/src/with-database.ts +20 -50
- package/tsconfig.json +1 -1
- package/tsdown.config.ts +38 -26
- package/vitest.config.ts +1 -0
- package/dist/hooks/durable-hooks-processor.d.ts.map +0 -1
- package/dist/node_modules/.pnpm/rou3@0.7.12/node_modules/rou3/dist/index.js +0 -168
- package/dist/node_modules/.pnpm/rou3@0.7.12/node_modules/rou3/dist/index.js.map +0 -1
- package/dist/packages/fragno/dist/api/bind-services.js +0 -20
- package/dist/packages/fragno/dist/api/bind-services.js.map +0 -1
- package/dist/packages/fragno/dist/api/error.js +0 -48
- package/dist/packages/fragno/dist/api/error.js.map +0 -1
- package/dist/packages/fragno/dist/api/fragment-definition-builder.js +0 -321
- package/dist/packages/fragno/dist/api/fragment-definition-builder.js.map +0 -1
- package/dist/packages/fragno/dist/api/fragment-instantiator.js +0 -669
- package/dist/packages/fragno/dist/api/fragment-instantiator.js.map +0 -1
- package/dist/packages/fragno/dist/api/fragno-response.js +0 -73
- package/dist/packages/fragno/dist/api/fragno-response.js.map +0 -1
- package/dist/packages/fragno/dist/api/internal/response-stream.js +0 -81
- package/dist/packages/fragno/dist/api/internal/response-stream.js.map +0 -1
- package/dist/packages/fragno/dist/api/internal/route.js +0 -10
- package/dist/packages/fragno/dist/api/internal/route.js.map +0 -1
- package/dist/packages/fragno/dist/api/mutable-request-state.js +0 -97
- package/dist/packages/fragno/dist/api/mutable-request-state.js.map +0 -1
- package/dist/packages/fragno/dist/api/request-context-storage.js +0 -43
- package/dist/packages/fragno/dist/api/request-context-storage.js.map +0 -1
- package/dist/packages/fragno/dist/api/request-input-context.js +0 -185
- package/dist/packages/fragno/dist/api/request-input-context.js.map +0 -1
- package/dist/packages/fragno/dist/api/request-middleware.js +0 -83
- package/dist/packages/fragno/dist/api/request-middleware.js.map +0 -1
- package/dist/packages/fragno/dist/api/request-output-context.js +0 -119
- package/dist/packages/fragno/dist/api/request-output-context.js.map +0 -1
- package/dist/packages/fragno/dist/api/route.js +0 -30
- package/dist/packages/fragno/dist/api/route.js.map +0 -1
- package/dist/packages/fragno/dist/internal/symbols.js +0 -10
- package/dist/packages/fragno/dist/internal/symbols.js.map +0 -1
- package/dist/packages/fragno/dist/internal/trace-context.js +0 -12
- package/dist/packages/fragno/dist/internal/trace-context.js.map +0 -1
package/dist/schema/create.d.ts
CHANGED
|
@@ -22,6 +22,20 @@ type TableSubOperation = {
|
|
|
22
22
|
name: string;
|
|
23
23
|
columns: string[];
|
|
24
24
|
unique: boolean;
|
|
25
|
+
} | {
|
|
26
|
+
type: "rename-column";
|
|
27
|
+
from: string;
|
|
28
|
+
to: string;
|
|
29
|
+
} | {
|
|
30
|
+
type: "drop-column";
|
|
31
|
+
name: string;
|
|
32
|
+
} | {
|
|
33
|
+
type: "update-column";
|
|
34
|
+
columnName: string;
|
|
35
|
+
column: AnyColumn;
|
|
36
|
+
updateNullable: boolean;
|
|
37
|
+
updateDefault: boolean;
|
|
38
|
+
updateDataType: boolean;
|
|
25
39
|
} | {
|
|
26
40
|
type: "add-foreign-key";
|
|
27
41
|
name: string;
|
|
@@ -55,6 +69,7 @@ type SchemaOperation = {
|
|
|
55
69
|
table: string;
|
|
56
70
|
column: string;
|
|
57
71
|
};
|
|
72
|
+
foreignKey?: boolean;
|
|
58
73
|
};
|
|
59
74
|
};
|
|
60
75
|
interface ForeignKey {
|
|
@@ -69,7 +84,10 @@ declare class RelationInit<TRelationType extends RelationType, TTables extends R
|
|
|
69
84
|
referencedTable: TTables[TTableName];
|
|
70
85
|
referencer: AnyTable;
|
|
71
86
|
on: [string, string][];
|
|
72
|
-
|
|
87
|
+
foreignKey: boolean;
|
|
88
|
+
constructor(type: TRelationType, referencedTable: TTables[TTableName], referencer: AnyTable, options?: {
|
|
89
|
+
foreignKey?: boolean;
|
|
90
|
+
});
|
|
73
91
|
}
|
|
74
92
|
interface Index<TColumns extends AnyColumn[] = AnyColumn[], TColumnNames extends readonly string[] = readonly string[]> {
|
|
75
93
|
name: string;
|
|
@@ -84,6 +102,7 @@ interface Relation<TRelationType extends RelationType = RelationType, TTable ext
|
|
|
84
102
|
id: string;
|
|
85
103
|
name: string;
|
|
86
104
|
type: TRelationType;
|
|
105
|
+
foreignKey?: boolean;
|
|
87
106
|
table: TTable;
|
|
88
107
|
referencer: AnyTable;
|
|
89
108
|
on: [string, string][];
|
|
@@ -166,23 +185,23 @@ type TypeMap = {
|
|
|
166
185
|
date: Date;
|
|
167
186
|
timestamp: Date;
|
|
168
187
|
} & Record<`varchar(${number})`, string>;
|
|
169
|
-
declare class Column<TType extends keyof TypeMap, TIn = unknown, TOut = unknown> {
|
|
170
|
-
type: TType;
|
|
188
|
+
declare class Column<TType$1 extends keyof TypeMap, TIn$1 = unknown, TOut$1 = unknown> {
|
|
189
|
+
type: TType$1;
|
|
171
190
|
name: string;
|
|
172
191
|
isNullable: boolean;
|
|
173
192
|
role: "external-id" | "internal-id" | "version" | "reference" | "regular";
|
|
174
193
|
isHidden: boolean;
|
|
175
194
|
default?: {
|
|
176
|
-
value: TypeMap[TType];
|
|
195
|
+
value: TypeMap[TType$1];
|
|
177
196
|
} | {
|
|
178
197
|
dbSpecial: "now";
|
|
179
198
|
} | {
|
|
180
|
-
runtime: "cuid" | "now" | (() => TypeMap[TType]);
|
|
199
|
+
runtime: "cuid" | "now" | (() => TypeMap[TType$1]);
|
|
181
200
|
};
|
|
182
201
|
tableName: string;
|
|
183
|
-
constructor(type: TType);
|
|
184
|
-
nullable<TNullable extends boolean = true>(nullable?: TNullable): Column<TType, TNullable extends true ? TIn | null : Exclude<TIn, null>, TNullable extends true ? TOut | null : Exclude<TOut, null>>;
|
|
185
|
-
hidden<THidden extends boolean = true>(hidden?: THidden): Column<TType, null, null>;
|
|
202
|
+
constructor(type: TType$1);
|
|
203
|
+
nullable<TNullable extends boolean = true>(nullable?: TNullable): Column<TType$1, TNullable extends true ? TIn$1 | null : Exclude<TIn$1, null>, TNullable extends true ? TOut$1 | null : Exclude<TOut$1, null>>;
|
|
204
|
+
hidden<THidden extends boolean = true>(hidden?: THidden): Column<TType$1, null, null>;
|
|
186
205
|
/**
|
|
187
206
|
* Generate default value at runtime in application code (not in the database).
|
|
188
207
|
*
|
|
@@ -205,7 +224,7 @@ declare class Column<TType extends keyof TypeMap, TIn = unknown, TOut = unknown>
|
|
|
205
224
|
* column("integer").defaultTo$((b) => Math.floor(Math.random() * 100)) // Custom function
|
|
206
225
|
* ```
|
|
207
226
|
*/
|
|
208
|
-
defaultTo$(value: TypeMap[TType] | ((builder: RuntimeDefaultBuilder) => RuntimeSpecial | TypeMap[TType])): Column<TType, TIn | null, TOut>;
|
|
227
|
+
defaultTo$(value: TypeMap[TType$1] | ((builder: RuntimeDefaultBuilder) => RuntimeSpecial | TypeMap[TType$1])): Column<TType$1, TIn$1 | null, TOut$1>;
|
|
209
228
|
/**
|
|
210
229
|
* Set a database-level default value (generated by the database, not application code).
|
|
211
230
|
*
|
|
@@ -228,34 +247,34 @@ declare class Column<TType extends keyof TypeMap, TIn = unknown, TOut = unknown>
|
|
|
228
247
|
* column("timestamp").defaultTo((b) => b.now())
|
|
229
248
|
* ```
|
|
230
249
|
*/
|
|
231
|
-
defaultTo(value: TypeMap[TType] | ((builder: DefaultBuilder) => DBSpecial | TypeMap[TType])): Column<TType, TIn | null, TOut>;
|
|
250
|
+
defaultTo(value: TypeMap[TType$1] | ((builder: DefaultBuilder) => DBSpecial | TypeMap[TType$1])): Column<TType$1, TIn$1 | null, TOut$1>;
|
|
232
251
|
/**
|
|
233
252
|
* Generate default value for the column at runtime.
|
|
234
253
|
* Used for both runtime defaults (defaultTo$) and fallback generation for
|
|
235
254
|
* database defaults (defaultTo) when the database doesn't support them.
|
|
236
255
|
*/
|
|
237
|
-
generateDefaultValue(): TypeMap[TType] | undefined;
|
|
256
|
+
generateDefaultValue(): TypeMap[TType$1] | undefined;
|
|
238
257
|
/**
|
|
239
258
|
* @description This is used for type inference only. Runtime value will be undefined.
|
|
240
259
|
* @internal
|
|
241
260
|
*/
|
|
242
|
-
get $in(): TIn;
|
|
261
|
+
get $in(): TIn$1;
|
|
243
262
|
/**
|
|
244
263
|
* @description This is used for type inference only. Runtime value will be undefined.
|
|
245
264
|
* @internal
|
|
246
265
|
*/
|
|
247
|
-
get $out(): TOut;
|
|
266
|
+
get $out(): TOut$1;
|
|
248
267
|
}
|
|
249
|
-
declare class IdColumn<TType extends IdColumnType = IdColumnType, TIn = unknown, TOut = unknown> extends Column<TType, TIn, TOut> {
|
|
268
|
+
declare class IdColumn<TType$1 extends IdColumnType = IdColumnType, TIn$1 = unknown, TOut$1 = unknown> extends Column<TType$1, TIn$1, TOut$1> {
|
|
250
269
|
id: boolean;
|
|
251
|
-
defaultTo$(value: TypeMap[TType] | ((builder: RuntimeDefaultBuilder) => RuntimeSpecial | TypeMap[TType])): IdColumn<TType, TIn | null, TOut>;
|
|
252
|
-
defaultTo(value: TypeMap[TType] | ((builder: DefaultBuilder) => DBSpecial | TypeMap[TType])): IdColumn<TType, TIn | null, TOut>;
|
|
270
|
+
defaultTo$(value: TypeMap[TType$1] | ((builder: RuntimeDefaultBuilder) => RuntimeSpecial | TypeMap[TType$1])): IdColumn<TType$1, TIn$1 | null, TOut$1>;
|
|
271
|
+
defaultTo(value: TypeMap[TType$1] | ((builder: DefaultBuilder) => DBSpecial | TypeMap[TType$1])): IdColumn<TType$1, TIn$1 | null, TOut$1>;
|
|
253
272
|
}
|
|
254
273
|
/**
|
|
255
274
|
* Internal ID column - used for database-native joins and foreign keys.
|
|
256
275
|
* Hidden from user API by default.
|
|
257
276
|
*/
|
|
258
|
-
declare class InternalIdColumn<TIn = unknown, TOut = unknown> extends Column<"bigint", TIn, TOut> {
|
|
277
|
+
declare class InternalIdColumn<TIn$1 = unknown, TOut$1 = unknown> extends Column<"bigint", TIn$1, TOut$1> {
|
|
259
278
|
role: "internal-id";
|
|
260
279
|
constructor();
|
|
261
280
|
}
|
|
@@ -263,12 +282,12 @@ declare class InternalIdColumn<TIn = unknown, TOut = unknown> extends Column<"bi
|
|
|
263
282
|
* Version column - used for optimistic concurrency control.
|
|
264
283
|
* Automatically incremented on each update.
|
|
265
284
|
*/
|
|
266
|
-
declare class VersionColumn<TIn = unknown, TOut = unknown> extends Column<"integer", TIn, TOut> {
|
|
285
|
+
declare class VersionColumn<TIn$1 = unknown, TOut$1 = unknown> extends Column<"integer", TIn$1, TOut$1> {
|
|
267
286
|
role: "version";
|
|
268
287
|
constructor();
|
|
269
288
|
}
|
|
270
|
-
type ColumnInput<TType extends keyof TypeMap> = TypeMap[TType] | (TType extends "timestamp" | "date" ? DbNow : never);
|
|
271
|
-
declare function column<TType extends keyof TypeMap>(type: TType): Column<TType, ColumnInput<TType>, TypeMap[TType]>;
|
|
289
|
+
type ColumnInput<TType$1 extends keyof TypeMap> = TypeMap[TType$1] | (TType$1 extends "timestamp" | "date" ? DbNow : never);
|
|
290
|
+
declare function column<TType$1 extends keyof TypeMap>(type: TType$1): Column<TType$1, ColumnInput<TType$1>, TypeMap[TType$1]>;
|
|
272
291
|
/**
|
|
273
292
|
* Create a reference column that points to another table's internal ID.
|
|
274
293
|
* This is used for foreign key relationships.
|
|
@@ -280,7 +299,7 @@ declare function referenceColumn(): Column<"bigint", string | bigint | FragnoId
|
|
|
280
299
|
* This is a CUID string that can be auto-generated or user-provided.
|
|
281
300
|
* Input accepts string | FragnoId | null, output returns FragnoId.
|
|
282
301
|
*/
|
|
283
|
-
declare function idColumn(): IdColumn<"varchar(
|
|
302
|
+
declare function idColumn(): IdColumn<"varchar(128)", string | FragnoId | null, FragnoId>;
|
|
284
303
|
/**
|
|
285
304
|
* Create an internal ID column (database-native, hidden from user API).
|
|
286
305
|
* Used for joins and foreign keys.
|
|
@@ -366,7 +385,11 @@ declare class TableBuilder<TColumns extends Record<string, AnyColumn> = Record<s
|
|
|
366
385
|
/**
|
|
367
386
|
* Add a column to the table with simplified syntax.
|
|
368
387
|
*/
|
|
369
|
-
addColumn<TColumnName extends string, TType extends keyof TypeMap>(name: TColumnName, type: TType): TableBuilder<TColumns & Record<TColumnName, Column<TType, ColumnInput<TType>, TypeMap[TType]>>, TRelations, TIndexes>;
|
|
388
|
+
addColumn<TColumnName extends string, TType$1 extends keyof TypeMap>(name: TColumnName, type: TType$1): TableBuilder<TColumns & Record<TColumnName, Column<TType$1, ColumnInput<TType$1>, TypeMap[TType$1]>>, TRelations, TIndexes>;
|
|
389
|
+
/**
|
|
390
|
+
* Alter an existing column.
|
|
391
|
+
*/
|
|
392
|
+
alterColumn<TColumnName extends NonIdColumnName<TColumns>>(name: TColumnName): ColumnAlterer<TColumns, TRelations, TIndexes, TColumnName>;
|
|
370
393
|
/**
|
|
371
394
|
* Create an index on the specified columns.
|
|
372
395
|
*/
|
|
@@ -409,6 +432,12 @@ type UpdateTable<TTables extends Record<string, AnyTable>, TTableName extends ke
|
|
|
409
432
|
* Map an array of column names to a tuple of their actual column types
|
|
410
433
|
*/
|
|
411
434
|
type ColumnsToTuple<TColumns extends Record<string, AnyColumn>, TColumnNames extends readonly (keyof TColumns)[]> = { [K in keyof TColumnNames]: TColumnNames[K] extends keyof TColumns ? TColumns[TColumnNames[K]] : never } & AnyColumn[];
|
|
435
|
+
type UpdateColumn<TColumns extends Record<string, AnyColumn>, TColumnName extends keyof TColumns, TUpdatedColumn extends AnyColumn> = Prettify<Omit<TColumns, TColumnName> & Record<TColumnName, TUpdatedColumn>>;
|
|
436
|
+
type NonIdColumnName<TColumns extends Record<string, AnyColumn>> = { [K in keyof TColumns]: TColumns[K] extends IdColumn<IdColumnType, unknown, unknown> | InternalIdColumn<unknown, unknown> | VersionColumn<unknown, unknown> ? never : K }[keyof TColumns];
|
|
437
|
+
type NullableColumn<TColumn extends AnyColumn, TNullable extends boolean> = TColumn extends Column<infer TType, infer TIn, infer TOut> ? Column<TType, TNullable extends true ? TIn | null : Exclude<TIn, null>, TNullable extends true ? TOut | null : Exclude<TOut, null>> : TColumn;
|
|
438
|
+
type ColumnAlterer<TColumns extends Record<string, AnyColumn>, TRelations extends Record<string, AnyRelation>, TIndexes extends Record<string, Index>, TColumnName extends keyof TColumns> = {
|
|
439
|
+
nullable<TNullable extends boolean = true>(nullable?: TNullable): TableBuilder<UpdateColumn<TColumns, TColumnName, NullableColumn<TColumns[TColumnName], TNullable>>, TRelations, TIndexes>;
|
|
440
|
+
};
|
|
412
441
|
declare class SchemaBuilder<TTables extends Record<string, AnyTable> = {}> {
|
|
413
442
|
#private;
|
|
414
443
|
constructor(name: string, existingSchema?: Schema<TTables>);
|
|
@@ -428,7 +457,7 @@ declare class SchemaBuilder<TTables extends Record<string, AnyTable> = {}> {
|
|
|
428
457
|
/**
|
|
429
458
|
* Add a table to the schema. Increments the version counter.
|
|
430
459
|
*/
|
|
431
|
-
addTable<TTableName extends string, TColumns extends Record<string, AnyColumn>, TRelations extends Record<string, AnyRelation>, TIndexes extends Record<string, Index> = Record<string, Index>>(name: TTableName, callback: (builder: TableBuilder<
|
|
460
|
+
addTable<TTableName extends string, TColumns extends Record<string, AnyColumn>, TRelations extends Record<string, AnyRelation>, TIndexes extends Record<string, Index> = Record<string, Index>>(name: TTableName, callback: (builder: TableBuilder<{}, Record<string, AnyRelation>, Record<string, Index>>) => TableBuilder<TColumns, TRelations, TIndexes>): SchemaBuilder<TTables & Record<TTableName, Table<TColumns, TRelations, TIndexes>>>;
|
|
432
461
|
/**
|
|
433
462
|
* Add a relation between two tables.
|
|
434
463
|
*
|
|
@@ -463,6 +492,14 @@ declare class SchemaBuilder<TTables extends Record<string, AnyTable> = {}> {
|
|
|
463
492
|
* from: { table: "users", column: "invitedBy" },
|
|
464
493
|
* to: { table: "users", column: "id" },
|
|
465
494
|
* })
|
|
495
|
+
*
|
|
496
|
+
* // Join-only relation (no foreign key)
|
|
497
|
+
* .addReference("invitedUser", {
|
|
498
|
+
* type: "one",
|
|
499
|
+
* from: { table: "invitations", column: "email" },
|
|
500
|
+
* to: { table: "users", column: "email" },
|
|
501
|
+
* foreignKey: false,
|
|
502
|
+
* })
|
|
466
503
|
* ```
|
|
467
504
|
*/
|
|
468
505
|
addReference<TFromTableName extends string & keyof TTables, TToTableName extends string & keyof TTables, TReferenceName extends string, TRelationType extends RelationType>(referenceName: TReferenceName, config: {
|
|
@@ -475,10 +512,16 @@ declare class SchemaBuilder<TTables extends Record<string, AnyTable> = {}> {
|
|
|
475
512
|
table: TToTableName;
|
|
476
513
|
column: keyof TTables[TToTableName]["columns"];
|
|
477
514
|
};
|
|
515
|
+
/**
|
|
516
|
+
* When false, defines a join-only relation without foreign key migrations.
|
|
517
|
+
* References to external-id columns still coerce to `_internalId`
|
|
518
|
+
* (including left-side external IDs for join-only).
|
|
519
|
+
*/
|
|
520
|
+
foreignKey?: boolean;
|
|
478
521
|
}): SchemaBuilder<UpdateTableRelations<TTables, TFromTableName, TReferenceName, TToTableName, TRelationType>>;
|
|
479
522
|
/**
|
|
480
|
-
* Alter an existing table by adding columns or indexes.
|
|
481
|
-
* This is used for
|
|
523
|
+
* Alter an existing table by adding columns, altering columns, or adding indexes.
|
|
524
|
+
* This is used for forward-only schema modifications.
|
|
482
525
|
*
|
|
483
526
|
* @param tableName - The name of the table to modify
|
|
484
527
|
* @param callback - A callback that receives a table builder for adding columns/indexes
|
|
@@ -491,6 +534,7 @@ declare class SchemaBuilder<TTables extends Record<string, AnyTable> = {}> {
|
|
|
491
534
|
* .addColumn("id", idColumn())
|
|
492
535
|
* .addColumn("name", column("string")))
|
|
493
536
|
* .alterTable("users", t => t
|
|
537
|
+
* .alterColumn("name").nullable()
|
|
494
538
|
* .addColumn("email", column("string"))
|
|
495
539
|
* .addColumn("age", column("integer").nullable())
|
|
496
540
|
* .createIndex("idx_email", ["email"]))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","names":[],"sources":["../../src/schema/create.ts"],"sourcesContent":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"create.d.ts","names":[],"sources":["../../src/schema/create.ts"],"sourcesContent":[],"mappings":";;;;;;;KAUY,SAAA,GAAY,OAAO,eAAe;KAElC,WAAA,GAAc;AAFd,KAIA,QAAA,GAAW,KAJF;AAAyB,KAMlC,SAAA,GACR,MAP0C,CAAA,MAO7B,OAP6B,EAAA,OAAA,EAAA,OAAA,CAAA,GAQ1C,QAR0C,CAQjC,YARiC,EAAA,OAAA,EAAA,OAAA,CAAA,GAS1C,gBAT0C,CAAA,OAAA,EAAA,OAAA,CAAA,GAU1C,aAV0C,CAAA,OAAA,EAAA,OAAA,CAAA;;;;AAE9C;AAEY,KAWA,iBAAA,GAXW;EAEX,IAAA,EAAA,YAAS;EACJ,UAAA,EAAA,MAAA;EAAb,MAAA,EASkD,SATlD;CACS,GAAA;EAAT,IAAA,EAAA,WAAA;EACA,IAAA,EAAA,MAAA;EACA,OAAA,EAAA,MAAA,EAAA;EAAa,MAAA,EAAA,OAAA;AAKjB,CAAA,GAAY;EAyBA,IAAA,EAAA,eAAe;EAuBV,IAAA,EAAA,MAAA;EAER,EAAA,EAAA,MAAA;CACE,GAAA;EAEQ,IAAA,EAAA,aAAA;EACE,IAAA,EAAA,MAAA;CAAS,GAAA;EAGxB,IAAA,EAAA,eAAY;EACM,UAAA,EAAA,MAAA;EACS,MAAA,EAnDnB,SAmDmB;EAAf,cAAA,EAAA,OAAA;EACS,aAAA,EAAA,OAAA;EAEnB,cAAA,EAAA,OAAA;CACW,GAAA;EAAQ,IAAA,EAAA,iBAAA;EACb,IAAA,EAAA,MAAA;EAKJ,OAAA,EAAA,MAAA,EAAA;EACW,eAAA,EAAA,MAAA;EAAQ,iBAAA,EAAA,MAAA,EAAA;CACb;;AAUhB;;;AAKW,KA7DC,eAAA,GA6DD;EACI,IAAA,EAAA,WAAA;EAAY,SAAA,EAAA,MAAA;EAId,UAAA,EA9DK,iBA8De,EAAA;CACT,GAAA;EACS,IAAA,EAAA,aAAA;EAAf,SAAA,EAAA,MAAA;EACS,UAAA,EA5DT,iBA4DS,EAAA;CACJ,GAAA;EAAe,IAAA,EAAA,eAAA;EAAS,SAAA,EAAA,MAAA;EAChB,aAAA,EAAA,MAAA;EAAe,MAAA,EAAA;IAAQ,IAAA,EAAA,KAAA,GAAA,MAAA;IAAhC,IAAA,EAAA;MADZ,KAAA,EAAA,MAAA;MAAY,MAAA,EAAA,MAAA;IAgBL,CAAA;IACO,EAAA,EAAA;MAAe,KAAA,EAAA,MAAA;MACtB,MAAA,EAAA,MAAA;IAAW,CAAA;IAIpB,UAAA,CAAA,EAAA,OAAA;EAGC,CAAA;CACK;AAAQ,UAzEL,UAAA,CAyEK;EAKjB,IAAA,EAAA,MAAA;EACS,KAAA,EA7EL,QA6EK;EAAkB,OAAA,EA5ErB,SA4EqB,EAAA;EAAE,eAAA,EA1Ef,QA0Ee;EAAK,iBAAA,EAzElB,SAyEkB,EAAA;;cAtEjC,YAsE+C,CAAA,sBArE7B,YAqE6B,EAAA,gBApEnC,MAoEmC,CAAA,MAAA,EApEpB,QAoEoB,CAAA,EAAA,mBAAA,MAnE1B,OAmE0B,CAAA,CAAA;EAAC,IAAA,EAjE9C,aAiE8C;EAGjD,eAAA,EAnEc,OAmEC,CAnEO,UAmEP,CAAA;EACN,UAAA,EAnEA,QAmEA;EAAkB,EAAA,EAAA,CAAA,MAAA,EAAA,MAAA,CAAA,EAAA;EAAE,UAAA,EAAA,OAAA;EAAa,WAAA,CAAA,IAAA,EA9DrC,aA8DqC,EAAA,eAAA,EA7D1B,OA6D0B,CA7DlB,UA6DkB,CAAA,EAAA,UAAA,EA5D/B,QA4D+B,EAAA,OAAM,CAAN,EAAA;IAAI,UAAA,CAAA,EAAA,OAAA;EAAE,CAAA;;AAGhD,UArDY,KAqDZ,CAAA,iBApDc,SAoDY,EAAA,GApDE,SAoDF,EAAA,EAAA,qBAAA,SAAA,MAAA,EAAA,GAAA,SAAA,MAAA,EAAA,CAAA,CAAA;EAAiC,IAAA,EAAA,MAAA;EAAf,OAAA,EAhDtC,QAgDsC;EACnC,WAAA,EAhDC,YAgDD;EAA2B,MAAA,EAAA,OAAA;;AAAgB,cA5C5C,oBA4C4C,CAAA,sBA3CjC,YA2CiC,EAAA,gBA1CvC,MA0CuC,CAAA,MAAA,EA1CxB,QA0CwB,CAAA,EAAA,mBAAA,MAzC9B,OAyC8B,CAAA,SAxC/C,YAwC+C,CAxClC,aAwCkC,EAxCnB,OAwCmB,EAxCV,UAwCU,CAAA,CAAA;EAAS,IAAA,CAAA,IAAA,EAAA,MAAA,CAAA,EAvC5C,QAuC4C,CAvCnC,aAuCmC,EAvCpB,OAuCoB,CAvCZ,UAuCY,CAAA,CAAA;;AAG7D,UA3BY,QA2BZ,CAAA,sBA1BmB,YA0BS,GA1BM,YA0BN,EAAA,eAzBhB,QAyBgB,GAzBL,QAyBK,CAAA,CAAA;EAAiC,EAAA,EAAA,MAAA;EAAf,IAAA,EAAA,MAAA;EACD,IAAA,EAtB1C,aAsB0C;EAA3B,UAAA,CAAA,EAAA,OAAA;EAAb,KAAA,EAnBD,MAmBC;EAAR,UAAA,EAlBY,QAkBZ;EAC6C,EAAA,EAAA,CAAA,MAAA,EAAA,MAAA,CAAA,EAAA;;KAd1C,YAcD,CAAA,CAAA,CAAA,GAAA,QAF4E,MAXlE,CAWkE,IAAA,IAAA,SAXhD,CAWgD,CAX9C,CAW8C,CAAA,GAXzC,CAWyC,GAAA,KAAA,GAX7B,CAW6B,CAX3B,CAW2B,CAAA,EAAQ;AAKxF,KAbK,eAaO,CAAA,CAAA,CAAA,GAAiB,QAAW,MAZ1B,CAY0B,IAAA,IAAA,SAZR,CAYQ,CAZN,CAYM,CAAA,GAAA,KAAA,GAZO,CAYP,GAZW,CAYX,CAZa,CAYb,CAAA,EAAyC;KAT5E,0BAS+C,CAAA,iBATH,MASG,CAAA,MAAA,EATY,SASZ,CAAA,CAAA,GAAA,QAA4B,MARlE,QAQkE,IAAA,MAAA,SARvC,CAQuC,GAAA,KAAA,GAR3B,CAQ2B,GARvB,QAQuB,CARd,CAQc,CAAA,CAAA,KAAA,CAAA,EAEhF;AAEA,KATK,4BAS6B,CAAA,iBATiB,MAUnC,CAAA,MAAoB,EAV8B,SAU9B,CAAA,CAAA,GAV4C,QAU5C,CATlC,OASkC,CAT1B,YAS0B,CATb,0BASa,CATc,QASd,CAAA,CAAA,CAAA,GARhC,eAQgC,CARhB,0BAQgB,CARW,QAQX,CAAA,CAAA,CAAA;AAGnB,KARL,iBAQU,CAAA,UARkB,QAQlB,CAAA,GAR8B,4BAQ9B,CAR2D,CAQ3D,CAAA,SAAA,CAAA,CAAA;AACY,KAPtB,oBAAA,GAOsB,OAAA,GAAA,QAAA;AAAf,KALP,sBAAA,GAKO;EAA2C,WAAA,CAAA,EAJ9C,oBAI8C;CAAf;AACX,UAFnB,KAEmB,CAAA,iBADjB,MACiB,CAAA,MAAA,EADF,SACE,CAAA,GADW,MACX,CAAA,MAAA,EAD0B,SAC1B,CAAA,EAAA,mBAAf,MAAe,CAAA,MAAA,EAAA,WAAA,CAAA,GAAe,MAAf,CAAA,MAAA,EAA8B,WAA9B,CAAA,EAAA,iBACjB,MADiB,CAAA,MAAA,EACF,KADE,CAAA,GACO,MADP,CAAA,MAAA,EACsB,KADtB,CAAA,CAAA,CAAA;EAAf;;;EACa,WAAA,EAKnB,gBAAA,CAAiB,KALE,CAM9B,4BAN8B,CAMD,QANC,CAAA,EAO9B,4BAP8B,CAOD,QAPC,CAAA,CAAA;EAAf,IAAA,EAAA,MAAA;EAAuC,OAAA,EAW/C,QAX+C;EAAf,SAAA,EAY9B,UAZ8B;EAMV,OAAA,EAOtB,QAPsB;EAA7B;;;EADW,QAAA,EAAA,CAAA,KAAiB,EAAA,OAAA,EAAA,OAAA,CAAA,EAelB,sBAfkB,EAAA,GAgBzB,4BAhByB,CAgBI,QAhBJ,CAAA;EAMrB;;;EASG,eAAA,EAAA,CAAA,IAAA,EAAA,MAAA,EAAA,GAMuB,SANvB,GAAA,SAAA;EACsB;;;EASf,WAAA,EAAA,GAAA,GAAA,SAAA;EAIQ;;;EAOxB,mBAAS,EAAA,GAAA,GAPe,SAOf;EACT;AAKL;AAQA;EAgBK,gBAAY,EAAA,GAAA,GAjCS,SAiCT;AAEjB;KAhCK,SAAA,GA0CK;EACF,GAAA,EAAA,SAAA;EACK,KAAA,EAAA,KAAA;CACT;KA5CC,cAAA,GA4CK;EAEG,GAAA,EAAA,SAAM;EAAqB,KAAA,EAAA,MAAA,GAAA,KAAA;CAChC;;;;AASyC,UAnDhC,cAAA,CAmDgC;EAI7B;EAIoC,GAAA,EAAA,EAzD/C,SAyD+C;;;;;AAKZ,UAxD3B,qBAAA,CAwD2B;EACtC;EAAyB,IAAA,EAAA,EAvDrB,cAuDqB;EAAsB;EAAR,GAAA,EAAA,EArDpC,cAqDoC;;KAzCxC,YAAA,GA6C6C,WAAA,MAAA,GAAA;AAExB,KA7Cd,OAAA,GA6Cc;EAAP,MAAA,EAAA,MAAA;EA0BR,MAAA,EAAA,MAAA;EAAQ,OAAA,EAAA,MAAA;EAAoB,OAAA,EAAA,MAAA;EAA0B,IAAA,EAAA,OAAA;EAAiB,IAAA,EAAA,OAAA;EAAQ;;;EAC3D,MAAA,EA9DrB,UA8DqB;EAA1B,IAAA,EA7DG,IA6DH;EA6CM,SAAA,EAzGE,IAyGF;CAAQ,GAxGf,MAwGe,CAAA,WAAA,MAAA,GAAA,EAAA,MAAA,CAAA;AAAoB,cAtG1B,MAsG0B,CAAA,gBAAA,MAtGC,OAsGD,EAAA,QAAA,OAAA,EAAA,SAAA,OAAA,CAAA,CAAA;EAAmB,IAAA,EArGlD,OAqGkD;EAAY,IAAA,EAAA,MAAA;EAAQ,UAAA,EAAA,OAAA;EAClE,IAAA,EAAA,aAAA,GAAA,aAAA,GAAA,SAAA,GAAA,WAAA,GAAA,SAAA;EAAO,QAAA,EAAA,OAAA;EAAY,OAAA,CAAA,EAAA;IAA1B,KAAA,EA/FU,OA+FV,CA/FkB,OA+FlB,CAAA;EAyBqB,CAAA,GAAA;IAAQ,SAAA,EAAA,KAAA;EAiCrB,CAAA,GAAA;IAQC,OAAA,EAAA,MAAA,GAAA,KAAA,GAAA,CAAA,GAAA,GA/J2B,OA+J3B,CA/JmC,OA+JnC,CAAA,CAAA;EAAI,CAAA;EAKL,SAAA,EAAQ,MAAA;EACL,WAAA,CAAA,IAAA,EAjKI,OAiKJ;EAAe,QAAA,CAAA,kBAAA,OAAA,GAAA,IAAA,CAAA,CAAA,QAAA,CAAA,EA7JyB,SA6JzB,CAAA,EA1JZ,MA0JY,CAzJzB,OAyJyB,EAxJzB,SAwJyB,SAAA,IAAA,GAxJA,KAwJA,GAAA,IAAA,GAxJa,OAwJb,CAxJqB,KAwJrB,EAAA,IAAA,CAAA,EAvJzB,SAuJyB,SAAA,IAAA,GAvJA,MAuJA,GAAA,IAAA,GAvJc,OAuJd,CAvJsB,MAuJtB,EAAA,IAAA,CAAA,CAAA;EAGd,MAAA,CAAA,gBAAA,OAAA,GAAA,IAAA,CAAA,CAAA,MAAA,CAAA,EAtJiC,OAsJjC,CAAA,EApJE,MAoJF,CApJS,OAoJT,EAAA,IAAA,EAAA,IAAA,CAAA;EAAO;;;;;;;;;;;;;;;;;;;;;;EAAd,UAAA,CAAA,KAAA,EA1HC,OA0HD,CA1HS,OA0HT,CAAA,GAAA,CAAA,CAAA,OAAA,EA1H6B,qBA0H7B,EAAA,GA1HuD,cA0HvD,GA1HwE,OA0HxE,CA1HgF,OA0HhF,CAAA,CAAA,CAAA,EAzHL,MAyHK,CAzHE,OAyHF,EAzHS,KAyHT,GAAA,IAAA,EAzHqB,MAyHrB,CAAA;EAAM;AAoBhB;;;;;AAaA;;;;;AAOC;;;;;;;AA6BD;;;;EAE6B,SAAA,CAAA,KAAA,EAnJlB,OAmJkB,CAnJV,OAmJU,CAAA,GAAA,CAAA,CAAA,OAAA,EAnJU,cAmJV,EAAA,GAnJ6B,SAmJ7B,GAnJyC,OAmJzC,CAnJiD,OAmJjD,CAAA,CAAA,CAAA,EAlJxB,MAkJwB,CAlJjB,OAkJiB,EAlJV,KAkJU,GAAA,IAAA,EAlJE,MAkJF,CAAA;EAAZ;;;;;EASD,oBAAe,CAAA,CAAA,EAlIL,OAkIK,CAlIG,OAkIH,CAAA,GAAA,SAAA;EAEX;;;;EAFqB,IAAA,GAAA,CAAA,CAAA,EAjG5B,KAiG4B;EAiBzB;;;;EAAoB,IAAA,IAAA,CAAA,CAAA,EA1GtB,MA0GsB;AAYpC;AAWgB,cA5HH,QA4HgB,CAAA,gBA3Hb,YA2H8B,GA3Hf,YA2He,EAAA,QAAA,OAAA,EAAA,SAAA,OAAA,CAAA,SAxHpC,MAwHoC,CAxH7B,OAwH6B,EAxHtB,KAwHsB,EAxHjB,MAwHiB,CAAA,CAAA;EAcjC,EAAA,EAAA,OAAQ;EAMjB,UAAA,CAAA,KAAA,EAxIO,OAwIP,CAxIe,OAwIf,CAAA,GAAA,CAAA,CAAA,OAAA,EAxImC,qBAwInC,EAAA,GAxI6D,cAwI7D,GAxI8E,OAwI9E,CAxIsF,OAwItF,CAAA,CAAA,CAAA,EAtIkC,QAsIlC,CAtI2C,OAsI3C,EAtIkD,KAsIlD,GAAA,IAAA,EAtI8D,MAsI9D,CAAA;EACA,SAAA,CAAA,KAAA,EAnIO,OAmIP,CAnIe,OAmIf,CAAA,GAAA,CAAA,CAAA,OAAA,EAnImC,cAmInC,EAAA,GAnIsD,SAmItD,GAnIkE,OAmIlE,CAnI0E,OAmI1E,CAAA,CAAA,CAAA,EAjIiC,QAiIjC,CAjI0C,OAiI1C,EAjIiD,KAiIjD,GAAA,IAAA,EAjI6D,MAiI7D,CAAA;;;;AAgEJ;AAoBC;AAMY,cAnNA,gBAmNY,CAAA,QAAA,OAAA,EAAA,SAAA,OAAA,CAAA,SAnN4C,MAmN5C,CAAA,QAAA,EAnN6D,KAmN7D,EAnNkE,MAmNlE,CAAA,CAAA;EACS,IAAA,EAAA,aAAA;EAAf,WAAA,CAAA;;;;;;AACgC,cAxMtC,aAwMsC,CAAA,QAAA,OAAA,EAAA,SAAA,OAAA,CAAA,SAxMe,MAwMf,CAAA,SAAA,EAxMiC,KAwMjC,EAxMsC,MAwMtC,CAAA,CAAA;EACjB,IAAA,EAAA,SAAA;EAAf,WAAA,CAAA;;KAzKd,WAyKsC,CAAA,gBAAA,MAzKN,OAyKM,CAAA,GAxKvC,OAwKuC,CAxK/B,OAwK+B,CAAA,GAAA,CAvKtC,OAuKsC,SAAA,WAAA,GAAA,MAAA,GAvKD,KAuKC,GAAA,KAAA,CAAA;AAgBrB,iBArLN,MAqLM,CAAA,gBAAA,MArLqB,OAqLrB,CAAA,CAAA,IAAA,EApLd,OAoLc,CAAA,EAnLnB,MAmLmB,CAnLZ,OAmLY,EAnLL,WAmLK,CAnLO,OAmLP,CAAA,EAnLe,OAmLf,CAnLuB,OAmLvB,CAAA,CAAA;;;;;;AA0Bb,iBApMO,eAAA,CAAA,CAoMP,EApM0B,MAoM1B,CAAA,QAAA,EAAA,MAAA,GAAA,MAAA,GAlMW,QAkMX,GAlMsB,eAkMtB,EAjMP,eAiMO,CAAA;;;;;;AAC8D,iBApLvD,QAAA,CAAA,CAoLuD,EApL3C,QAoL2C,CAAA,cAAA,EAAA,MAAA,GApLT,QAoLS,GAAA,IAAA,EApLQ,QAoLR,CAAA;;;;;;AASjD,iBAjLN,gBAAA,CAAA,CAiLM,EAjLc,gBAiLd,CAAA,IAAA,EAAA,MAAA,CAAA;;;;;AAAuD,iBAtK7D,aAAA,CAAA,CAsK6D,EAtK5C,aAsK4C,CAAA,IAAA,EAAA,MAAA,CAAA;;;;;;;;AA8BnE,cAtLG,QAAA,CAsLH;EACS,CAAA,OAAA;EAAU,WAAA,CAAA;IAAA,UAAA;IAAA,UAAA;IAAA;EA0B2B,CA1B3B,EAAA;IAAY,UAAA,EAAA,MAAA;IAAU,UAAA,CAAA,EAAA,MAAA;IAA9C,OAAA,EAAA,MAAA;EA0BmD,CAAA;EAE9C;;;EAKN,OAAA,YAAA,CAAA,UAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,CAAA,EAlMwD,QAkMxD;EACA,IAAA,OAAA,CAAA,CAAA,EAAA,MAAA;EAAkB,IAAA,UAAA,CAAA,CAAA,EAAA,MAAA;EAAiC,IAAA,UAAA,CAAA,CAAA,EAAA,MAAA,GAAA,SAAA;EAAU;;;;EAAlD,IAAA,UAAA,CAAA,CAAA,EAAA,MAAA,GAAA,MAAA;EAHV;;;EAgCkC,MAAA,CAAA,CAAA,EAAA;IAA5B,UAAA,EAAA,MAAA;IAAK,UAAA,CAAA,EAAA,MAAA;EA6EC,CAAA;EAAsC,QAAA,CAAA,CAAA,EAAA,MAAA;EAAf,OAAA,CAAA,CAAA,EAAA,MAAA;;;;;;;;AAuBnC,cAnRQ,eAAA,CAmRY;EACQ,CAAA,OAAA;EAAf,WAAA,CAAA,UAAA,EAAA,MAAA;EACS;;;EAGY,OAAA,YAAA,CAAA,UAAA,EAAA,MAAA,CAAA,EA9QI,eA8QJ;EAEzB;;;EAEN,IAAA,UAAA,CAAA,CAAA,EAAA,MAAA;;KApQH,YAAA,GAqQG,KAAA,GAAA,MAAA;AAAQ,cAnQH,YAmQG,CAAA,iBAlQG,MAkQH,CAAA,MAAA,EAlQkB,SAkQlB,CAAA,GAlQ+B,MAkQ/B,CAAA,MAAA,EAlQ8C,SAkQ9C,CAAA,EAAA,mBAjQK,MAiQL,CAAA,MAAA,EAjQoB,WAiQpB,CAAA,GAjQmC,MAiQnC,CAAA,MAAA,EAjQkD,WAiQlD,CAAA,EAAA,iBAhQG,MAgQH,CAAA,MAAA,EAhQkB,KAgQlB,CAAA,GAhQ2B,MAgQ3B,CAAA,MAAA,EAhQ0C,KAgQ1C,CAAA,CAAA,CAAA;EACC,CAAA,OAAA;EAAyB,WAAA,CAAA,IAAA,EAAA,MAAA;EAAe,UAAA,CAAA,OAAA,EAjPnC,QAiPmC,CAAA,EAAA,IAAA;EAAQ,YAAA,CAAA,SAAA,EA7OvC,UA6OuC,CAAA,EAAA,IAAA;EAAhC,UAAA,CAAA,OAAA,EAzOX,QAyOW,CAAA,EAAA,IAAA;EAAvB,UAAA,CAAA,CAAA,EApOM,KAoON,EAAA;EACF,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA;EAAQ;;;EAEF,SAAA,CAAA,oBAAA,MAAA,EAAA,gBA5N0C,SA4N1C,CAAA,CAAA,IAAA,EA3NJ,WA2NI,EAAA,GAAA,EA1NL,OA0NK,CAAA,EAzNT,YAyNS,CAzNI,QAyNJ,GAzNe,MAyNf,CAzNsB,WAyNtB,EAzNmC,OAyNnC,CAAA,EAzN6C,UAyN7C,EAzNyD,QAyNzD,CAAA;EAAC;AAAA;;EAQG,SAAA,CAAA,oBAAA,MAAA,EAAA,gBAAA,MA5N0C,OA4N1C,CAAA,CAAA,IAAA,EA3NR,WA2NQ,EAAA,IAAA,EA1NR,OA0NQ,CAAA,EAzNb,YAyNa,CAxNd,QAwNc,GAxNH,MAwNG,CAxNI,WAwNJ,EAxNiB,MAwNjB,CAxNwB,OAwNxB,EAxN+B,WAwN/B,CAxN2C,OAwN3C,CAAA,EAxNmD,OAwNnD,CAxN2D,OAwN3D,CAAA,CAAA,CAAA,EAvNd,UAuNc,EAtNd,QAsNc,CAAA;EACS;;;EAEY,WAAA,CAAA,oBA9LL,eA8LK,CA9LW,QA8LX,CAAA,CAAA,CAAA,IAAA,EA7L7B,WA6L6B,CAAA,EA5LlC,aA4LkC,CA5LpB,QA4LoB,EA5LV,UA4LU,EA5LE,QA4LF,EA5LY,WA4LZ,CAAA;EAAf;;;EAGV,WAAA,CAAA,mBAAA,MAAA,EAAA,2BAAA,SAAA,CAAA,MAAA,GAAA,MArK0C,QAqK1C,CAAA,EAAA,CAAA,CAAA,IAAA,EAnKJ,UAmKI,EAAA,OAAA,EAlKD,YAkKC,EAAA,OAAoB,CAApB,EAAA;IAAU,MAAA,CAAA,EAAA,OAAA;EAAU,CAAA,CAAA,EAhK7B,YAgK6B,CA/J9B,QA+J8B,EA9J9B,UA8J8B,EA7J9B,QA6J8B,GA7JnB,MA6JmB,CA7JZ,UA6JY,EA7JA,KA6JA,CA7JM,cA6JN,CA7JqB,QA6JrB,EA7J+B,YA6J/B,CAAA,EA7J8C,YA6J9C,CAAA,CAAA,CAAA;EACtB;;;EAAN,KAAA,CAAA,CAAA,EAjIK,KAiIL,CAjIW,QAiIX,EAjIqB,UAiIrB,EAjIiC,QAiIjC,CAAA;;AACQ,UArDG,MAqDH,CAAA,gBArD0B,MAqD1B,CAAA,MAAA,EArDyC,QAqDzC,CAAA,GArDqD,MAqDrD,CAAA,MAAA,EArDoE,QAqDpE,CAAA,CAAA,CAAA;EAAC;AAAA;;EAOI,IAAA,EAAA,MAAA;EACoB;;;EAEG,OAAA,EAAA,MAAA;EAAiB,MAAA,EAtDjD,OAsDiD;EACrD;;;;EAEO,UAAA,EApDC,eAoDD,EAAA;EAER,KAAA,EAAA,GAAA,GApDU,MAoDE,CApDK,OAoDL,CAAA;;;;;;KA7CZ,oBAiDuB,CAAA,gBAhDV,MAgDU,CAAA,MAAA,EAhDK,QAgDL,CAAA,EAAA,mBAAA,MA/CD,OA+CC,EAAA,uBAAA,MAAA,EAAA,6BAAA,MA7CS,OA6CT,EAAA,sBA5CJ,YA4CI,GA5CW,YA4CX,CAAA,GAAA,QAAf,MA1CC,OA0CD,GA1CW,CA0CX,SA1CqB,UA0CrB,GAzCP,KAyCO,CAxCL,OAwCK,CAxCG,UAwCH,CAAA,CAAA,SAAA,CAAA,EAvCL,OAuCK,CAvCG,UAuCH,CAAA,CAAA,WAAA,CAAA,GAtCH,MAsCG,CAtCI,cAsCJ,EAtCoB,QAsCpB,CAtC6B,aAsC7B,EAtC4C,OAsC5C,CAtCoD,oBAsCpD,CAAA,CAAA,CAAA,EArCL,OAqCK,CArCG,UAqCH,CAAA,CAAA,SAAA,CAAA,CAAA,GAnCP,OAmCO,CAnCC,CAmCD,CAAA,EAAqC;;;;;AAAtC,KA5BP,WA8BA,CAAA,gBA7Ba,MA6BE,CAAA,MAAA,EA7Ba,QA6Bb,CAAA,EAAA,mBAAA,MA5BO,OA4BP,EAAA,oBA3BE,MA2BF,CAAA,MAAA,EA3BiB,SA2BjB,CAAA,EAAA,sBA1BI,MA0BJ,CAAA,MAAA,EA1BmB,WA0BnB,CAAA,EAAA,oBAzBE,MAyBF,CAAA,MAAA,EAzBiB,KAyBjB,CAAA,CAAA,GAAA,QAAiC,MAvBvC,OAuBuC,GAvB7B,CAuB6B,SAvBnB,UAuBmB,GAtB/C,KAsB+C,CAtBzC,WAsByC,EAtB5B,aAsB4B,EAtBb,WAsBa,CAAA,GArB/C,OAqB+C,CArBvC,CAqBuC,CAAA,EAAf;;;;KAfjC,cAiBU,CAAA,iBAhBI,MAgBJ,CAAA,MAAA,EAhBmB,SAgBnB,CAAA,EAAA,qBAAA,SAAA,CAAA,MAfwB,QAexB,CAAA,EAAA,CAAA,GAAA,QAAT,MAbQ,YAaR,GAbuB,YAavB,CAboC,CAapC,CAAA,SAAA,MAbqD,QAarD,GAZA,QAYA,CAZS,YAYT,CAZsB,CAYtB,CAAA,CAAA,GAAA,KAAA,EACA,GAXF,SAWE,EAAA;KATD,YAUC,CAAA,iBATa,MASb,CAAA,MAAA,EAT4B,SAS5B,CAAA,EAAA,oBAAA,MARsB,QAQtB,EAAA,uBAPmB,SAOnB,CAAA,GANF,QAME,CANO,IAMP,CANY,QAMZ,EANsB,WAMtB,CAAA,GANqC,MAMrC,CAN4C,WAM5C,EANyD,cAMzD,CAAA,CAAA;KAJD,eAMC,CAAA,iBANgC,MAMhC,CAAA,MAAA,EAN+C,SAM/C,CAAA,CAAA,GAAA,QACE,MANM,QAMN,GANiB,QAMjB,CAN0B,CAM1B,CAAA,SALF,QAKE,CALO,YAKP,EAAA,OAAA,EAAA,OAAA,CAAA,GAJF,gBAIE,CAAA,OAAA,EAAA,OAAA,CAAA,GAHF,aAGE,CAAA,OAAA,EAAA,OAAA,CAAA,GAAA,KAAA,GADF,CACE,EAAQ,CAAA,MAAR,QAAQ,CAAA;AAAA,KAEX,cAAA,CAAA,gBAA+B,SAAjB,EAAA,kBAAA,OAAA,CAAA,GACjB,OADiB,SACD,MADC,CAAA,KAAA,MAAA,EAAA,KAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAEb,MAFa,CAGX,KAHW,EAIX,SAJW,SAAA,IAAA,GAIc,GAJd,GAAA,IAAA,GAI2B,OAJ3B,CAImC,GAJnC,EAAA,IAAA,CAAA,EAKX,SALW,SAAA,IAAA,GAKc,IALd,GAAA,IAAA,GAK4B,OAL5B,CAKoC,IALpC,EAAA,IAAA,CAAA,CAAA,GAOb,OAPa;KASd,aAT+B,CAAA,iBAUjB,MAViB,CAAA,MAAA,EAUF,SAVE,CAAA,EAAA,mBAWf,MAXe,CAAA,MAAA,EAWA,WAXA,CAAA,EAAA,iBAYjB,MAZiB,CAAA,MAAA,EAYF,KAZE,CAAA,EAAA,oBAAA,MAaR,QAbQ,CAAA,GAAA;EAClC,QAAA,CAAA,kBAAA,OAAA,GAAA,IAAA,CAAA,CAAA,QAAA,CAAA,EAea,SAfb,CAAA,EAgBG,YAhBH,CAiBE,YAjBF,CAiBe,QAjBf,EAiByB,WAjBzB,EAiBsC,cAjBtC,CAiBqD,QAjBrD,CAiB8D,WAjB9D,CAAA,EAiB4E,SAjB5E,CAAA,CAAA,EAkBE,UAlBF,EAmBE,QAnBF,CAAA;CAAgB;AAEV,cAqBK,aArBL,CAAA,gBAqBmC,MArBnC,CAAA,MAAA,EAqBkD,QArBlD,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA;EACA,CAAA,OAAA;EAAyB,WAAA,CAAA,IAAA,EAAA,MAAA,EAAA,cAAA,CAAA,EA4BY,MA5BZ,CA4BmB,OA5BnB,CAAA;EAAqB;;;;;;;;;AAGzC;;;EAIuB,uBAAA,CAAA,mBA4FS,MA5FT,CAAA,MAAA,EA4FwB,QA5FxB,CAAA,CAAA,CAAA,MAAA,EA6FxB,MA7FwB,CA6FjB,UA7FiB,CAAA,CAAA,EA8F/B,aA9F+B,CA8FjB,OA9FiB,GA8FP,UA9FO,CAAA;EAAf;;;EAEO,QAAA,CAAA,mBAAA,MAAA,EAAA,iBA+HP,MA/HO,CAAA,MAAA,EA+HQ,SA/HR,CAAA,EAAA,mBAgIL,MAhIK,CAAA,MAAA,EAgIU,WAhIV,CAAA,EAAA,iBAiIP,MAjIO,CAAA,MAAA,EAiIQ,KAjIR,CAAA,GAiIiB,MAjIjB,CAAA,MAAA,EAiIgC,KAjIhC,CAAA,CAAA,CAAA,IAAA,EAmIlB,UAnIkB,EAAA,QAAA,EAAA,CAAA,OAAA,EAqIb,YArIa,CAAA,CAAA,CAAA,EAqII,MArIJ,CAAA,MAAA,EAqImB,WArInB,CAAA,EAqIiC,MArIjC,CAAA,MAAA,EAqIgD,KArIhD,CAAA,CAAA,EAAA,GAsInB,YAtImB,CAsIN,QAtIM,EAsII,UAtIJ,EAsIgB,QAtIhB,CAAA,CAAA,EAuIvB,aAvIuB,CAuIT,OAvIS,GAuIC,MAvID,CAuIQ,UAvIR,EAuIoB,KAvIpB,CAuI0B,QAvI1B,EAuIoC,UAvIpC,EAuIgD,QAvIhD,CAAA,CAAA,CAAA;EAGb;;;;;;;;;;;;AAQf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4HsD,YAAA,CAAA,uBAAA,MAAA,GAAA,MA+HZ,OA/HY,EAAA,qBAAA,MAAA,GAAA,MAgId,OAhIc,EAAA,uBAAA,MAAA,EAAA,sBAkI5B,YAlI4B,CAAA,CAAA,aAAA,EAoInC,cApImC,EAAA,MAAA,EAAA;IAAU,IAAA,EAsIpD,aAtIoD;IAAY,IAAA,EAAA;MAA5B,KAAA,EAwIjC,cAxIiC;MAAnB,MAAA,EAAA,MAyIP,OAzIO,CAyIC,cAzID,CAAA,CAAA,SAAA,CAAA;IAAxB,CAAA;IA+HqC,EAAA,EAAA;MACF,KAAA,EAYzB,YAZyB;MAEd,MAAA,EAAA,MAWJ,OAXI,CAWI,YAXJ,CAAA,CAAA,SAAA,CAAA;IAEP,CAAA;IAEP;;;;;IAOU,UAAA,CAAA,EAAA,OAAA;EAAQ,CAAA,CAAA,EASzB,aATyB,CAU1B,oBAV0B,CAUL,OAVK,EAUI,cAVJ,EAUoB,cAVpB,EAUoC,YAVpC,EAUkD,aAVlD,CAAA,CAAA;EAUL;;;;;;;;;;;;;;;;;;;;;;EAsIjB,UAAA,CAAA,mBAAA,MAAA,GAAA,MAV8B,OAU9B,EAAA,oBATgB,MAShB,CAAA,MAAA,EAT+B,SAS/B,CAAA,EAAA,sBARkB,MAQlB,CAAA,MAAA,EARiC,WAQjC,CAAA,EAAA,oBAPgB,MAOhB,CAAA,MAAA,EAP+B,KAO/B,CAAA,GAPwC,MAOxC,CAAA,MAAA,EAPuD,KAOvD,CAAA,CAAA,CAAA,SAAA,EALO,UAKP,EAAA,QAAA,EAAA,CAAA,OAAA,EAHO,YAGP,CAFA,OAEA,CAFQ,UAER,CAAA,CAAA,SAAA,CAAA,EADA,OACA,CADQ,UACR,CAAA,CAAA,WAAA,CAAA,EAAA,MAAA,CAAA,MAAA,EAAe,KAAf,CAAA,CAAA,EAAA,GAEC,YAFD,CAEc,WAFd,EAE2B,aAF3B,EAE0C,WAF1C,CAAA,CAAA,EAGH,aAHG,CAGW,WAHX,CAGuB,OAHvB,EAGgC,UAHhC,EAG4C,WAH5C,EAGyD,aAHzD,EAGwE,WAHxE,CAAA,CAAA;EAHO;;;EAKmC,KAAA,CAAA,CAAA,EAiHvC,MAjHuC,CAiHhC,OAjHgC,CAAA;EAAzC;;;EAC2C,UAAA,CAAA,CAAA,EAAA,MAAA;;;;;AAgHlC,iBA6EF,MA7EE,CAAA,sBA6E2B,MA7E3B,CAAA,MAAA,EA6E0C,QA7E1C,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,CAAA,OAAA,EA+EI,aA/EJ,CAAA,CAAA,CAAA,CAAA,EAAA,GA+E0B,aA/E1B,CA+EwC,OA/ExC,CAAA,CAAA,EAgFf,MAhFe,CAgFR,OAhFQ,CAAA;AAAP,iBAoFK,iBAAA,CApFL,GAAA,EAoF4B,UApF5B,CAAA,EAAA;EAAM,IAAA,EAAA,MAAA;EA6ED,KAAA,EAAA,MAAM;EAAsC,eAAA,EAAA,MAAA;EAAf,iBAAA,EAAA,MAAA,EAAA;EAEvB,OAAA,EAAA,MAAA,EAAA;CAAoC"}
|
package/dist/schema/create.js
CHANGED
|
@@ -8,10 +8,12 @@ var RelationInit = class {
|
|
|
8
8
|
referencedTable;
|
|
9
9
|
referencer;
|
|
10
10
|
on = [];
|
|
11
|
-
|
|
11
|
+
foreignKey;
|
|
12
|
+
constructor(type, referencedTable, referencer, options) {
|
|
12
13
|
this.type = type;
|
|
13
14
|
this.referencedTable = referencedTable;
|
|
14
15
|
this.referencer = referencer;
|
|
16
|
+
this.foreignKey = options?.foreignKey ?? true;
|
|
15
17
|
}
|
|
16
18
|
};
|
|
17
19
|
var ExplicitRelationInit = class extends RelationInit {
|
|
@@ -22,7 +24,8 @@ var ExplicitRelationInit = class extends RelationInit {
|
|
|
22
24
|
name,
|
|
23
25
|
referencer: this.referencer,
|
|
24
26
|
table: this.referencedTable,
|
|
25
|
-
type: this.type
|
|
27
|
+
type: this.type,
|
|
28
|
+
foreignKey: this.foreignKey
|
|
26
29
|
};
|
|
27
30
|
}
|
|
28
31
|
};
|
|
@@ -178,6 +181,20 @@ var VersionColumn = class extends Column {
|
|
|
178
181
|
this.defaultTo(0).hidden();
|
|
179
182
|
}
|
|
180
183
|
};
|
|
184
|
+
function cloneColumn(col) {
|
|
185
|
+
let clonedCol;
|
|
186
|
+
if (col instanceof InternalIdColumn) clonedCol = new InternalIdColumn();
|
|
187
|
+
else if (col instanceof VersionColumn) clonedCol = new VersionColumn();
|
|
188
|
+
else if (col instanceof IdColumn) clonedCol = new IdColumn(col.type);
|
|
189
|
+
else clonedCol = new Column(col.type);
|
|
190
|
+
clonedCol.name = col.name;
|
|
191
|
+
clonedCol.isNullable = col.isNullable;
|
|
192
|
+
clonedCol.role = col.role;
|
|
193
|
+
clonedCol.isHidden = col.isHidden;
|
|
194
|
+
clonedCol.default = col.default;
|
|
195
|
+
clonedCol.tableName = col.tableName;
|
|
196
|
+
return clonedCol;
|
|
197
|
+
}
|
|
181
198
|
function column(type) {
|
|
182
199
|
return new Column(type);
|
|
183
200
|
}
|
|
@@ -197,7 +214,7 @@ function referenceColumn() {
|
|
|
197
214
|
* Input accepts string | FragnoId | null, output returns FragnoId.
|
|
198
215
|
*/
|
|
199
216
|
function idColumn() {
|
|
200
|
-
const col = new IdColumn("varchar(
|
|
217
|
+
const col = new IdColumn("varchar(128)");
|
|
201
218
|
col.role = "external-id";
|
|
202
219
|
col.defaultTo$((b) => b.cuid());
|
|
203
220
|
return col;
|
|
@@ -343,6 +360,18 @@ var TableBuilder = class {
|
|
|
343
360
|
return this;
|
|
344
361
|
}
|
|
345
362
|
/**
|
|
363
|
+
* Alter an existing column.
|
|
364
|
+
*/
|
|
365
|
+
alterColumn(name) {
|
|
366
|
+
return { nullable: (nullable) => {
|
|
367
|
+
const column$1 = this.#columns[name];
|
|
368
|
+
if (!column$1) throw new Error(`Unknown column name ${String(name)}`);
|
|
369
|
+
const updated = cloneColumn(column$1).nullable(nullable ?? true);
|
|
370
|
+
this.#columns[name] = updated;
|
|
371
|
+
return this;
|
|
372
|
+
} };
|
|
373
|
+
}
|
|
374
|
+
/**
|
|
346
375
|
* Create an index on the specified columns.
|
|
347
376
|
*/
|
|
348
377
|
createIndex(name, columns, options) {
|
|
@@ -438,6 +467,18 @@ var SchemaBuilder = class SchemaBuilder {
|
|
|
438
467
|
if (this.#indexNames.has(name)) throw new Error(`Duplicate index name "${name}" in schema "${this.#name}". Index names must be unique across tables (conflict on "${tableName}").`);
|
|
439
468
|
this.#indexNames.add(name);
|
|
440
469
|
}
|
|
470
|
+
#rebindRelations(tableName, newTable) {
|
|
471
|
+
for (const table of Object.values(this.#tables)) for (const relation of Object.values(table.relations)) {
|
|
472
|
+
if (relation.table.name === tableName) relation.table = newTable;
|
|
473
|
+
if (relation.referencer.name === tableName) relation.referencer = newTable;
|
|
474
|
+
}
|
|
475
|
+
}
|
|
476
|
+
#isJoinColumnIndexed(table, columnName) {
|
|
477
|
+
const idColumnName = table.getIdColumn().name;
|
|
478
|
+
const internalIdColumnName = table.getInternalIdColumn().name;
|
|
479
|
+
if (columnName === idColumnName || columnName === internalIdColumnName) return true;
|
|
480
|
+
return Object.values(table.indexes).some((index) => index.columnNames.some((name) => name === columnName));
|
|
481
|
+
}
|
|
441
482
|
/**
|
|
442
483
|
* Add an existing schema to this builder.
|
|
443
484
|
* Merges tables and operations from the provided schema.
|
|
@@ -484,18 +525,18 @@ var SchemaBuilder = class SchemaBuilder {
|
|
|
484
525
|
subOperations.push({
|
|
485
526
|
type: "add-column",
|
|
486
527
|
columnName: colName,
|
|
487
|
-
column: col
|
|
528
|
+
column: cloneColumn(col)
|
|
488
529
|
});
|
|
489
530
|
}
|
|
490
531
|
if (builtTable.columns["_internalId"]) subOperations.push({
|
|
491
532
|
type: "add-column",
|
|
492
533
|
columnName: "_internalId",
|
|
493
|
-
column: builtTable.columns["_internalId"]
|
|
534
|
+
column: cloneColumn(builtTable.columns["_internalId"])
|
|
494
535
|
});
|
|
495
536
|
if (builtTable.columns["_version"]) subOperations.push({
|
|
496
537
|
type: "add-column",
|
|
497
538
|
columnName: "_version",
|
|
498
|
-
column: builtTable.columns["_version"]
|
|
539
|
+
column: cloneColumn(builtTable.columns["_version"])
|
|
499
540
|
});
|
|
500
541
|
for (const idx of result.getIndexes()) subOperations.push({
|
|
501
542
|
type: "add-index",
|
|
@@ -550,6 +591,14 @@ var SchemaBuilder = class SchemaBuilder {
|
|
|
550
591
|
* from: { table: "users", column: "invitedBy" },
|
|
551
592
|
* to: { table: "users", column: "id" },
|
|
552
593
|
* })
|
|
594
|
+
*
|
|
595
|
+
* // Join-only relation (no foreign key)
|
|
596
|
+
* .addReference("invitedUser", {
|
|
597
|
+
* type: "one",
|
|
598
|
+
* from: { table: "invitations", column: "email" },
|
|
599
|
+
* to: { table: "users", column: "email" },
|
|
600
|
+
* foreignKey: false,
|
|
601
|
+
* })
|
|
553
602
|
* ```
|
|
554
603
|
*/
|
|
555
604
|
addReference(referenceName, config) {
|
|
@@ -561,15 +610,24 @@ var SchemaBuilder = class SchemaBuilder {
|
|
|
561
610
|
if (!referencedTable) throw new Error(`Referenced table ${config.to.table} not found in schema`);
|
|
562
611
|
const columnName = config.from.column;
|
|
563
612
|
const targetColumnName = config.to.column;
|
|
564
|
-
const
|
|
613
|
+
const foreignKey = config.foreignKey !== false;
|
|
565
614
|
const column$1 = table.columns[columnName];
|
|
566
|
-
const
|
|
615
|
+
const targetColumn = referencedTable.columns[targetColumnName];
|
|
567
616
|
if (!column$1) throw new Error(`Column ${columnName} not found in table ${config.from.table}`);
|
|
568
|
-
if (!
|
|
617
|
+
if (!targetColumn) throw new Error(`Column ${targetColumnName} not found in table ${config.to.table}`);
|
|
618
|
+
const actualTargetColumnName = targetColumn.role === "external-id" ? referencedTable.getInternalIdColumn().name : targetColumnName;
|
|
619
|
+
if (!referencedTable.columns[actualTargetColumnName]) throw new Error(`Column ${actualTargetColumnName} not found in table ${config.to.table}`);
|
|
569
620
|
if (table.relations[referenceName]) throw new Error(`Reference ${referenceName} already exists on table ${config.from.table}`);
|
|
570
621
|
if (column$1.role === "reference" && column$1.type !== "bigint") throw new Error(`Reference column ${columnName} must be of type bigint to match internal ID type`);
|
|
571
|
-
|
|
572
|
-
|
|
622
|
+
if (!foreignKey) {
|
|
623
|
+
const missingIndexes = [];
|
|
624
|
+
if (!this.#isJoinColumnIndexed(table, columnName)) missingIndexes.push(`${table.name}.${columnName}`);
|
|
625
|
+
if (!this.#isJoinColumnIndexed(referencedTable, actualTargetColumnName)) missingIndexes.push(`${referencedTable.name}.${actualTargetColumnName}`);
|
|
626
|
+
if (missingIndexes.length > 0) throw new Error(`Join-only relation "${referenceName}" requires indexed join columns: ${missingIndexes.join(", ")}.`);
|
|
627
|
+
}
|
|
628
|
+
const actualFromColumnName = !foreignKey && column$1.role === "external-id" ? table.getInternalIdColumn().name : columnName;
|
|
629
|
+
const init = new ExplicitRelationInit(config.type, referencedTable, table, { foreignKey });
|
|
630
|
+
init.on.push([actualFromColumnName, targetColumnName]);
|
|
573
631
|
const relation = init.init(referenceName);
|
|
574
632
|
table.relations[referenceName] = relation;
|
|
575
633
|
this.#operations.push({
|
|
@@ -580,19 +638,20 @@ var SchemaBuilder = class SchemaBuilder {
|
|
|
580
638
|
type: config.type,
|
|
581
639
|
from: {
|
|
582
640
|
table: config.from.table,
|
|
583
|
-
column:
|
|
641
|
+
column: actualFromColumnName
|
|
584
642
|
},
|
|
585
643
|
to: {
|
|
586
644
|
table: config.to.table,
|
|
587
645
|
column: actualTargetColumnName
|
|
588
|
-
}
|
|
646
|
+
},
|
|
647
|
+
foreignKey
|
|
589
648
|
}
|
|
590
649
|
});
|
|
591
650
|
return this;
|
|
592
651
|
}
|
|
593
652
|
/**
|
|
594
|
-
* Alter an existing table by adding columns or indexes.
|
|
595
|
-
* This is used for
|
|
653
|
+
* Alter an existing table by adding columns, altering columns, or adding indexes.
|
|
654
|
+
* This is used for forward-only schema modifications.
|
|
596
655
|
*
|
|
597
656
|
* @param tableName - The name of the table to modify
|
|
598
657
|
* @param callback - A callback that receives a table builder for adding columns/indexes
|
|
@@ -605,6 +664,7 @@ var SchemaBuilder = class SchemaBuilder {
|
|
|
605
664
|
* .addColumn("id", idColumn())
|
|
606
665
|
* .addColumn("name", column("string")))
|
|
607
666
|
* .alterTable("users", t => t
|
|
667
|
+
* .alterColumn("name").nullable()
|
|
608
668
|
* .addColumn("email", column("string"))
|
|
609
669
|
* .addColumn("age", column("integer").nullable())
|
|
610
670
|
* .createIndex("idx_email", ["email"]))
|
|
@@ -620,6 +680,8 @@ var SchemaBuilder = class SchemaBuilder {
|
|
|
620
680
|
tableBuilder.setIndexes(table.indexes);
|
|
621
681
|
const existingColumns = new Set(Object.keys(table.columns));
|
|
622
682
|
const existingIndexes = new Set(Object.keys(table.indexes));
|
|
683
|
+
const existingColumnState = /* @__PURE__ */ new Map();
|
|
684
|
+
for (const [colName, col] of Object.entries(table.columns)) existingColumnState.set(colName, { isNullable: col.isNullable });
|
|
623
685
|
const resultBuilder = callback(tableBuilder);
|
|
624
686
|
const newTable = resultBuilder.build();
|
|
625
687
|
const subOperations = [];
|
|
@@ -627,8 +689,20 @@ var SchemaBuilder = class SchemaBuilder {
|
|
|
627
689
|
for (const colName of columnOrder) if (!existingColumns.has(colName)) subOperations.push({
|
|
628
690
|
type: "add-column",
|
|
629
691
|
columnName: colName,
|
|
630
|
-
column: newTable.columns[colName]
|
|
692
|
+
column: cloneColumn(newTable.columns[colName])
|
|
631
693
|
});
|
|
694
|
+
for (const [colName, previousState] of existingColumnState.entries()) {
|
|
695
|
+
const updatedColumn = newTable.columns[colName];
|
|
696
|
+
if (!updatedColumn) continue;
|
|
697
|
+
if (previousState.isNullable !== updatedColumn.isNullable) subOperations.push({
|
|
698
|
+
type: "update-column",
|
|
699
|
+
columnName: colName,
|
|
700
|
+
column: cloneColumn(updatedColumn),
|
|
701
|
+
updateNullable: true,
|
|
702
|
+
updateDefault: false,
|
|
703
|
+
updateDataType: false
|
|
704
|
+
});
|
|
705
|
+
}
|
|
632
706
|
for (const idx of resultBuilder.getIndexes()) if (!existingIndexes.has(idx.name)) {
|
|
633
707
|
if (this.#indexNames.has(idx.name)) throw new Error(`Duplicate index name "${idx.name}" in schema "${this.#name}". Index names must be unique across tables (conflict on "${tableName}").`);
|
|
634
708
|
subOperations.push({
|
|
@@ -647,6 +721,7 @@ var SchemaBuilder = class SchemaBuilder {
|
|
|
647
721
|
});
|
|
648
722
|
}
|
|
649
723
|
this.#tables[tableName] = newTable;
|
|
724
|
+
this.#rebindRelations(tableName, newTable);
|
|
650
725
|
for (const idx of resultBuilder.getIndexes()) if (!existingIndexes.has(idx.name)) this.#indexNames.add(idx.name);
|
|
651
726
|
for (const col of Object.values(newTable.columns)) col.tableName = newTable.name;
|
|
652
727
|
return this;
|