@warlock.js/cascade 4.0.157 → 4.0.158
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/package.json +4 -4
- package/cjs/context/database-data-source-context.d.ts +0 -29
- package/cjs/context/database-data-source-context.d.ts.map +0 -1
- package/cjs/context/database-data-source-context.js +0 -28
- package/cjs/context/database-data-source-context.js.map +0 -1
- package/cjs/context/database-transaction-context.d.ts +0 -35
- package/cjs/context/database-transaction-context.d.ts.map +0 -1
- package/cjs/context/database-transaction-context.js +0 -40
- package/cjs/context/database-transaction-context.js.map +0 -1
- package/cjs/contracts/database-driver.contract.d.ts +0 -450
- package/cjs/contracts/database-driver.contract.d.ts.map +0 -1
- package/cjs/contracts/database-id-generator.contract.d.ts +0 -109
- package/cjs/contracts/database-id-generator.contract.d.ts.map +0 -1
- package/cjs/contracts/database-remover.contract.d.ts +0 -104
- package/cjs/contracts/database-remover.contract.d.ts.map +0 -1
- package/cjs/contracts/database-restorer.contract.d.ts +0 -143
- package/cjs/contracts/database-restorer.contract.d.ts.map +0 -1
- package/cjs/contracts/database-writer.contract.d.ts +0 -119
- package/cjs/contracts/database-writer.contract.d.ts.map +0 -1
- package/cjs/contracts/driver-blueprint.contract.d.ts +0 -49
- package/cjs/contracts/driver-blueprint.contract.d.ts.map +0 -1
- package/cjs/contracts/index.d.ts +0 -10
- package/cjs/contracts/index.d.ts.map +0 -1
- package/cjs/contracts/migration-driver.contract.d.ts +0 -522
- package/cjs/contracts/migration-driver.contract.d.ts.map +0 -1
- package/cjs/contracts/query-builder.contract.d.ts +0 -1609
- package/cjs/contracts/query-builder.contract.d.ts.map +0 -1
- package/cjs/contracts/sync-adapter.contract.d.ts +0 -58
- package/cjs/contracts/sync-adapter.contract.d.ts.map +0 -1
- package/cjs/data-source/data-source-registry.d.ts +0 -108
- package/cjs/data-source/data-source-registry.d.ts.map +0 -1
- package/cjs/data-source/data-source-registry.js +0 -145
- package/cjs/data-source/data-source-registry.js.map +0 -1
- package/cjs/data-source/data-source.d.ts +0 -147
- package/cjs/data-source/data-source.d.ts.map +0 -1
- package/cjs/data-source/data-source.js +0 -83
- package/cjs/data-source/data-source.js.map +0 -1
- package/cjs/database-dirty-tracker.d.ts +0 -252
- package/cjs/database-dirty-tracker.d.ts.map +0 -1
- package/cjs/database-dirty-tracker.js +0 -386
- package/cjs/database-dirty-tracker.js.map +0 -1
- package/cjs/drivers/mongodb/mongodb-blueprint.d.ts +0 -30
- package/cjs/drivers/mongodb/mongodb-blueprint.d.ts.map +0 -1
- package/cjs/drivers/mongodb/mongodb-blueprint.js +0 -51
- package/cjs/drivers/mongodb/mongodb-blueprint.js.map +0 -1
- package/cjs/drivers/mongodb/mongodb-driver.d.ts +0 -324
- package/cjs/drivers/mongodb/mongodb-driver.d.ts.map +0 -1
- package/cjs/drivers/mongodb/mongodb-driver.js +0 -799
- package/cjs/drivers/mongodb/mongodb-driver.js.map +0 -1
- package/cjs/drivers/mongodb/mongodb-id-generator.d.ts +0 -116
- package/cjs/drivers/mongodb/mongodb-id-generator.d.ts.map +0 -1
- package/cjs/drivers/mongodb/mongodb-id-generator.js +0 -149
- package/cjs/drivers/mongodb/mongodb-id-generator.js.map +0 -1
- package/cjs/drivers/mongodb/mongodb-migration-driver.d.ts +0 -317
- package/cjs/drivers/mongodb/mongodb-migration-driver.d.ts.map +0 -1
- package/cjs/drivers/mongodb/mongodb-migration-driver.js +0 -666
- package/cjs/drivers/mongodb/mongodb-migration-driver.js.map +0 -1
- package/cjs/drivers/mongodb/mongodb-query-builder.d.ts +0 -1122
- package/cjs/drivers/mongodb/mongodb-query-builder.d.ts.map +0 -1
- package/cjs/drivers/mongodb/mongodb-query-builder.js +0 -1988
- package/cjs/drivers/mongodb/mongodb-query-builder.js.map +0 -1
- package/cjs/drivers/mongodb/mongodb-query-operations.d.ts +0 -226
- package/cjs/drivers/mongodb/mongodb-query-operations.d.ts.map +0 -1
- package/cjs/drivers/mongodb/mongodb-query-operations.js +0 -270
- package/cjs/drivers/mongodb/mongodb-query-operations.js.map +0 -1
- package/cjs/drivers/mongodb/mongodb-query-parser.d.ts +0 -262
- package/cjs/drivers/mongodb/mongodb-query-parser.d.ts.map +0 -1
- package/cjs/drivers/mongodb/mongodb-query-parser.js +0 -1351
- package/cjs/drivers/mongodb/mongodb-query-parser.js.map +0 -1
- package/cjs/drivers/mongodb/mongodb-sync-adapter.d.ts +0 -79
- package/cjs/drivers/mongodb/mongodb-sync-adapter.d.ts.map +0 -1
- package/cjs/drivers/mongodb/mongodb-sync-adapter.js +0 -146
- package/cjs/drivers/mongodb/mongodb-sync-adapter.js.map +0 -1
- package/cjs/drivers/mongodb/types.d.ts +0 -43
- package/cjs/drivers/mongodb/types.d.ts.map +0 -1
- package/cjs/drivers/postgres/index.d.ts +0 -16
- package/cjs/drivers/postgres/index.d.ts.map +0 -1
- package/cjs/drivers/postgres/postgres-blueprint.d.ts +0 -64
- package/cjs/drivers/postgres/postgres-blueprint.d.ts.map +0 -1
- package/cjs/drivers/postgres/postgres-blueprint.js +0 -121
- package/cjs/drivers/postgres/postgres-blueprint.js.map +0 -1
- package/cjs/drivers/postgres/postgres-dialect.d.ts +0 -136
- package/cjs/drivers/postgres/postgres-dialect.d.ts.map +0 -1
- package/cjs/drivers/postgres/postgres-dialect.js +0 -268
- package/cjs/drivers/postgres/postgres-dialect.js.map +0 -1
- package/cjs/drivers/postgres/postgres-driver.d.ts +0 -432
- package/cjs/drivers/postgres/postgres-driver.d.ts.map +0 -1
- package/cjs/drivers/postgres/postgres-driver.js +0 -965
- package/cjs/drivers/postgres/postgres-driver.js.map +0 -1
- package/cjs/drivers/postgres/postgres-migration-driver.d.ts +0 -397
- package/cjs/drivers/postgres/postgres-migration-driver.d.ts.map +0 -1
- package/cjs/drivers/postgres/postgres-migration-driver.js +0 -900
- package/cjs/drivers/postgres/postgres-migration-driver.js.map +0 -1
- package/cjs/drivers/postgres/postgres-query-builder.d.ts +0 -254
- package/cjs/drivers/postgres/postgres-query-builder.d.ts.map +0 -1
- package/cjs/drivers/postgres/postgres-query-builder.js +0 -933
- package/cjs/drivers/postgres/postgres-query-builder.js.map +0 -1
- package/cjs/drivers/postgres/postgres-query-parser.d.ts +0 -328
- package/cjs/drivers/postgres/postgres-query-parser.d.ts.map +0 -1
- package/cjs/drivers/postgres/postgres-query-parser.js +0 -864
- package/cjs/drivers/postgres/postgres-query-parser.js.map +0 -1
- package/cjs/drivers/postgres/postgres-sql-serializer.d.ts +0 -37
- package/cjs/drivers/postgres/postgres-sql-serializer.d.ts.map +0 -1
- package/cjs/drivers/postgres/postgres-sql-serializer.js +0 -400
- package/cjs/drivers/postgres/postgres-sql-serializer.js.map +0 -1
- package/cjs/drivers/postgres/postgres-sync-adapter.d.ts +0 -83
- package/cjs/drivers/postgres/postgres-sync-adapter.d.ts.map +0 -1
- package/cjs/drivers/postgres/postgres-sync-adapter.js +0 -197
- package/cjs/drivers/postgres/postgres-sync-adapter.js.map +0 -1
- package/cjs/drivers/postgres/types.d.ts +0 -142
- package/cjs/drivers/postgres/types.d.ts.map +0 -1
- package/cjs/drivers/sql/index.d.ts +0 -10
- package/cjs/drivers/sql/index.d.ts.map +0 -1
- package/cjs/drivers/sql/sql-dialect.contract.d.ts +0 -204
- package/cjs/drivers/sql/sql-dialect.contract.d.ts.map +0 -1
- package/cjs/drivers/sql/sql-types.d.ts +0 -202
- package/cjs/drivers/sql/sql-types.d.ts.map +0 -1
- package/cjs/errors/missing-data-source.error.d.ts +0 -22
- package/cjs/errors/missing-data-source.error.d.ts.map +0 -1
- package/cjs/errors/missing-data-source.error.js +0 -29
- package/cjs/errors/missing-data-source.error.js.map +0 -1
- package/cjs/errors/transaction-rollback.error.d.ts +0 -20
- package/cjs/errors/transaction-rollback.error.d.ts.map +0 -1
- package/cjs/errors/transaction-rollback.error.js +0 -27
- package/cjs/errors/transaction-rollback.error.js.map +0 -1
- package/cjs/events/model-events.d.ts +0 -231
- package/cjs/events/model-events.d.ts.map +0 -1
- package/cjs/events/model-events.js +0 -259
- package/cjs/events/model-events.js.map +0 -1
- package/cjs/expressions/aggregate-expressions.d.ts +0 -215
- package/cjs/expressions/aggregate-expressions.d.ts.map +0 -1
- package/cjs/expressions/aggregate-expressions.js +0 -221
- package/cjs/expressions/aggregate-expressions.js.map +0 -1
- package/cjs/expressions/index.d.ts +0 -2
- package/cjs/expressions/index.d.ts.map +0 -1
- package/cjs/index.d.ts +0 -45
- package/cjs/index.d.ts.map +0 -1
- package/cjs/index.js +0 -1
- package/cjs/index.js.map +0 -1
- package/cjs/migration/column-builder.d.ts +0 -417
- package/cjs/migration/column-builder.d.ts.map +0 -1
- package/cjs/migration/column-builder.js +0 -586
- package/cjs/migration/column-builder.js.map +0 -1
- package/cjs/migration/column-helpers.d.ts +0 -275
- package/cjs/migration/column-helpers.d.ts.map +0 -1
- package/cjs/migration/column-helpers.js +0 -389
- package/cjs/migration/column-helpers.js.map +0 -1
- package/cjs/migration/foreign-key-builder.d.ts +0 -103
- package/cjs/migration/foreign-key-builder.d.ts.map +0 -1
- package/cjs/migration/foreign-key-builder.js +0 -121
- package/cjs/migration/foreign-key-builder.js.map +0 -1
- package/cjs/migration/index.d.ts +0 -7
- package/cjs/migration/index.d.ts.map +0 -1
- package/cjs/migration/migration-runner.d.ts +0 -278
- package/cjs/migration/migration-runner.d.ts.map +0 -1
- package/cjs/migration/migration-runner.js +0 -815
- package/cjs/migration/migration-runner.js.map +0 -1
- package/cjs/migration/migration.d.ts +0 -1992
- package/cjs/migration/migration.d.ts.map +0 -1
- package/cjs/migration/migration.js +0 -2162
- package/cjs/migration/migration.js.map +0 -1
- package/cjs/migration/sql-grammar.d.ts +0 -61
- package/cjs/migration/sql-grammar.d.ts.map +0 -1
- package/cjs/migration/sql-grammar.js +0 -164
- package/cjs/migration/sql-grammar.js.map +0 -1
- package/cjs/migration/sql-serializer.d.ts +0 -22
- package/cjs/migration/sql-serializer.d.ts.map +0 -1
- package/cjs/migration/sql-serializer.js +0 -26
- package/cjs/migration/sql-serializer.js.map +0 -1
- package/cjs/migration/types.d.ts +0 -155
- package/cjs/migration/types.d.ts.map +0 -1
- package/cjs/model/methods/accessor-methods.d.ts +0 -13
- package/cjs/model/methods/accessor-methods.d.ts.map +0 -1
- package/cjs/model/methods/accessor-methods.js +0 -51
- package/cjs/model/methods/accessor-methods.js.map +0 -1
- package/cjs/model/methods/delete-methods.d.ts +0 -10
- package/cjs/model/methods/delete-methods.d.ts.map +0 -1
- package/cjs/model/methods/delete-methods.js +0 -10
- package/cjs/model/methods/delete-methods.js.map +0 -1
- package/cjs/model/methods/dirty-methods.d.ts +0 -10
- package/cjs/model/methods/dirty-methods.d.ts.map +0 -1
- package/cjs/model/methods/dirty-methods.js +0 -15
- package/cjs/model/methods/dirty-methods.js.map +0 -1
- package/cjs/model/methods/hydration-methods.d.ts +0 -10
- package/cjs/model/methods/hydration-methods.d.ts.map +0 -1
- package/cjs/model/methods/hydration-methods.js +0 -57
- package/cjs/model/methods/hydration-methods.js.map +0 -1
- package/cjs/model/methods/instance-event-methods.d.ts +0 -7
- package/cjs/model/methods/instance-event-methods.d.ts.map +0 -1
- package/cjs/model/methods/instance-event-methods.js +0 -15
- package/cjs/model/methods/instance-event-methods.js.map +0 -1
- package/cjs/model/methods/meta-methods.d.ts +0 -7
- package/cjs/model/methods/meta-methods.d.ts.map +0 -1
- package/cjs/model/methods/meta-methods.js +0 -78
- package/cjs/model/methods/meta-methods.js.map +0 -1
- package/cjs/model/methods/query-methods.d.ts +0 -24
- package/cjs/model/methods/query-methods.d.ts.map +0 -1
- package/cjs/model/methods/query-methods.js +0 -161
- package/cjs/model/methods/query-methods.js.map +0 -1
- package/cjs/model/methods/restore-methods.d.ts +0 -10
- package/cjs/model/methods/restore-methods.d.ts.map +0 -1
- package/cjs/model/methods/restore-methods.js +0 -13
- package/cjs/model/methods/restore-methods.js.map +0 -1
- package/cjs/model/methods/scope-methods.d.ts +0 -7
- package/cjs/model/methods/scope-methods.d.ts.map +0 -1
- package/cjs/model/methods/scope-methods.js +0 -15
- package/cjs/model/methods/scope-methods.js.map +0 -1
- package/cjs/model/methods/serialization-methods.d.ts +0 -3
- package/cjs/model/methods/serialization-methods.d.ts.map +0 -1
- package/cjs/model/methods/serialization-methods.js +0 -27
- package/cjs/model/methods/serialization-methods.js.map +0 -1
- package/cjs/model/methods/static-event-methods.d.ts +0 -9
- package/cjs/model/methods/static-event-methods.d.ts.map +0 -1
- package/cjs/model/methods/static-event-methods.js +0 -29
- package/cjs/model/methods/static-event-methods.js.map +0 -1
- package/cjs/model/methods/write-methods.d.ts +0 -10
- package/cjs/model/methods/write-methods.d.ts.map +0 -1
- package/cjs/model/methods/write-methods.js +0 -52
- package/cjs/model/methods/write-methods.js.map +0 -1
- package/cjs/model/model.d.ts +0 -1650
- package/cjs/model/model.d.ts.map +0 -1
- package/cjs/model/model.js +0 -1657
- package/cjs/model/model.js.map +0 -1
- package/cjs/model/model.types.d.ts +0 -44
- package/cjs/model/model.types.d.ts.map +0 -1
- package/cjs/model/register-model.d.ts +0 -81
- package/cjs/model/register-model.d.ts.map +0 -1
- package/cjs/model/register-model.js +0 -94
- package/cjs/model/register-model.js.map +0 -1
- package/cjs/query-builder/query-builder.d.ts +0 -556
- package/cjs/query-builder/query-builder.d.ts.map +0 -1
- package/cjs/query-builder/query-builder.js +0 -1070
- package/cjs/query-builder/query-builder.js.map +0 -1
- package/cjs/relations/helpers.d.ts +0 -156
- package/cjs/relations/helpers.d.ts.map +0 -1
- package/cjs/relations/helpers.js +0 -201
- package/cjs/relations/helpers.js.map +0 -1
- package/cjs/relations/index.d.ts +0 -35
- package/cjs/relations/index.d.ts.map +0 -1
- package/cjs/relations/pivot-operations.d.ts +0 -160
- package/cjs/relations/pivot-operations.d.ts.map +0 -1
- package/cjs/relations/pivot-operations.js +0 -293
- package/cjs/relations/pivot-operations.js.map +0 -1
- package/cjs/relations/relation-hydrator.d.ts +0 -68
- package/cjs/relations/relation-hydrator.d.ts.map +0 -1
- package/cjs/relations/relation-hydrator.js +0 -81
- package/cjs/relations/relation-hydrator.js.map +0 -1
- package/cjs/relations/relation-loader.d.ts +0 -194
- package/cjs/relations/relation-loader.d.ts.map +0 -1
- package/cjs/relations/relation-loader.js +0 -466
- package/cjs/relations/relation-loader.js.map +0 -1
- package/cjs/relations/types.d.ts +0 -306
- package/cjs/relations/types.d.ts.map +0 -1
- package/cjs/remover/database-remover.d.ts +0 -100
- package/cjs/remover/database-remover.d.ts.map +0 -1
- package/cjs/remover/database-remover.js +0 -214
- package/cjs/remover/database-remover.js.map +0 -1
- package/cjs/restorer/database-restorer.d.ts +0 -131
- package/cjs/restorer/database-restorer.d.ts.map +0 -1
- package/cjs/restorer/database-restorer.js +0 -434
- package/cjs/restorer/database-restorer.js.map +0 -1
- package/cjs/sql-database-dirty-tracker.d.ts +0 -13
- package/cjs/sql-database-dirty-tracker.d.ts.map +0 -1
- package/cjs/sql-database-dirty-tracker.js +0 -14
- package/cjs/sql-database-dirty-tracker.js.map +0 -1
- package/cjs/sync/index.d.ts +0 -12
- package/cjs/sync/index.d.ts.map +0 -1
- package/cjs/sync/model-events.d.ts +0 -62
- package/cjs/sync/model-events.d.ts.map +0 -1
- package/cjs/sync/model-events.js +0 -49
- package/cjs/sync/model-events.js.map +0 -1
- package/cjs/sync/model-sync-operation.d.ts +0 -163
- package/cjs/sync/model-sync-operation.d.ts.map +0 -1
- package/cjs/sync/model-sync-operation.js +0 -292
- package/cjs/sync/model-sync-operation.js.map +0 -1
- package/cjs/sync/model-sync.d.ts +0 -130
- package/cjs/sync/model-sync.d.ts.map +0 -1
- package/cjs/sync/model-sync.js +0 -178
- package/cjs/sync/model-sync.js.map +0 -1
- package/cjs/sync/sync-context.d.ts +0 -70
- package/cjs/sync/sync-context.d.ts.map +0 -1
- package/cjs/sync/sync-context.js +0 -101
- package/cjs/sync/sync-context.js.map +0 -1
- package/cjs/sync/sync-manager.d.ts +0 -213
- package/cjs/sync/sync-manager.d.ts.map +0 -1
- package/cjs/sync/sync-manager.js +0 -689
- package/cjs/sync/sync-manager.js.map +0 -1
- package/cjs/sync/types.d.ts +0 -289
- package/cjs/sync/types.d.ts.map +0 -1
- package/cjs/test-migrations/test-enhanced-features.migration.d.ts +0 -15
- package/cjs/test-migrations/test-enhanced-features.migration.d.ts.map +0 -1
- package/cjs/types.d.ts +0 -371
- package/cjs/types.d.ts.map +0 -1
- package/cjs/utils/connect-to-database.d.ts +0 -300
- package/cjs/utils/connect-to-database.d.ts.map +0 -1
- package/cjs/utils/connect-to-database.js +0 -128
- package/cjs/utils/connect-to-database.js.map +0 -1
- package/cjs/utils/database-writer.utils.d.ts +0 -15
- package/cjs/utils/database-writer.utils.d.ts.map +0 -1
- package/cjs/utils/database-writer.utils.js +0 -14
- package/cjs/utils/database-writer.utils.js.map +0 -1
- package/cjs/utils/define-model.js +0 -100
- package/cjs/utils/define-model.js.map +0 -1
- package/cjs/utils/is-valid-date-value.d.ts +0 -5
- package/cjs/utils/is-valid-date-value.d.ts.map +0 -1
- package/cjs/utils/is-valid-date-value.js +0 -25
- package/cjs/utils/is-valid-date-value.js.map +0 -1
- package/cjs/utils/once-connected.d.ts +0 -146
- package/cjs/utils/once-connected.d.ts.map +0 -1
- package/cjs/utils/once-connected.js +0 -251
- package/cjs/utils/once-connected.js.map +0 -1
- package/cjs/validation/database-seal-plugins.d.ts +0 -12
- package/cjs/validation/database-seal-plugins.d.ts.map +0 -1
- package/cjs/validation/database-seal-plugins.js +0 -1
- package/cjs/validation/database-seal-plugins.js.map +0 -1
- package/cjs/validation/database-writer-validation-error.d.ts +0 -97
- package/cjs/validation/database-writer-validation-error.d.ts.map +0 -1
- package/cjs/validation/database-writer-validation-error.js +0 -160
- package/cjs/validation/database-writer-validation-error.js.map +0 -1
- package/cjs/validation/index.d.ts +0 -3
- package/cjs/validation/index.d.ts.map +0 -1
- package/cjs/validation/mutators/embed-mutator.d.ts +0 -9
- package/cjs/validation/mutators/embed-mutator.d.ts.map +0 -1
- package/cjs/validation/mutators/embed-mutator.js +0 -33
- package/cjs/validation/mutators/embed-mutator.js.map +0 -1
- package/cjs/validation/plugins/embed-validator-plugin.d.ts +0 -24
- package/cjs/validation/plugins/embed-validator-plugin.d.ts.map +0 -1
- package/cjs/validation/plugins/embed-validator-plugin.js +0 -18
- package/cjs/validation/plugins/embed-validator-plugin.js.map +0 -1
- package/cjs/validation/rules/database-model-rule.d.ts +0 -7
- package/cjs/validation/rules/database-model-rule.d.ts.map +0 -1
- package/cjs/validation/rules/database-model-rule.js +0 -27
- package/cjs/validation/rules/database-model-rule.js.map +0 -1
- package/cjs/validation/transformers/embed-model-transformer.d.ts +0 -3
- package/cjs/validation/transformers/embed-model-transformer.d.ts.map +0 -1
- package/cjs/validation/transformers/embed-model-transformer.js +0 -18
- package/cjs/validation/transformers/embed-model-transformer.js.map +0 -1
- package/cjs/validation/validators/embed-validator.d.ts +0 -21
- package/cjs/validation/validators/embed-validator.d.ts.map +0 -1
- package/cjs/validation/validators/embed-validator.js +0 -43
- package/cjs/validation/validators/embed-validator.js.map +0 -1
- package/cjs/writer/database-writer.d.ts +0 -181
- package/cjs/writer/database-writer.d.ts.map +0 -1
- package/cjs/writer/database-writer.js +0 -407
- package/cjs/writer/database-writer.js.map +0 -1
- package/esm/context/database-data-source-context.d.ts +0 -29
- package/esm/context/database-data-source-context.d.ts.map +0 -1
- package/esm/context/database-data-source-context.js +0 -28
- package/esm/context/database-data-source-context.js.map +0 -1
- package/esm/context/database-transaction-context.d.ts +0 -35
- package/esm/context/database-transaction-context.d.ts.map +0 -1
- package/esm/context/database-transaction-context.js +0 -40
- package/esm/context/database-transaction-context.js.map +0 -1
- package/esm/contracts/database-driver.contract.d.ts +0 -450
- package/esm/contracts/database-driver.contract.d.ts.map +0 -1
- package/esm/contracts/database-id-generator.contract.d.ts +0 -109
- package/esm/contracts/database-id-generator.contract.d.ts.map +0 -1
- package/esm/contracts/database-remover.contract.d.ts +0 -104
- package/esm/contracts/database-remover.contract.d.ts.map +0 -1
- package/esm/contracts/database-restorer.contract.d.ts +0 -143
- package/esm/contracts/database-restorer.contract.d.ts.map +0 -1
- package/esm/contracts/database-writer.contract.d.ts +0 -119
- package/esm/contracts/database-writer.contract.d.ts.map +0 -1
- package/esm/contracts/driver-blueprint.contract.d.ts +0 -49
- package/esm/contracts/driver-blueprint.contract.d.ts.map +0 -1
- package/esm/contracts/index.d.ts +0 -10
- package/esm/contracts/index.d.ts.map +0 -1
- package/esm/contracts/migration-driver.contract.d.ts +0 -522
- package/esm/contracts/migration-driver.contract.d.ts.map +0 -1
- package/esm/contracts/query-builder.contract.d.ts +0 -1609
- package/esm/contracts/query-builder.contract.d.ts.map +0 -1
- package/esm/contracts/sync-adapter.contract.d.ts +0 -58
- package/esm/contracts/sync-adapter.contract.d.ts.map +0 -1
- package/esm/data-source/data-source-registry.d.ts +0 -108
- package/esm/data-source/data-source-registry.d.ts.map +0 -1
- package/esm/data-source/data-source-registry.js +0 -145
- package/esm/data-source/data-source-registry.js.map +0 -1
- package/esm/data-source/data-source.d.ts +0 -147
- package/esm/data-source/data-source.d.ts.map +0 -1
- package/esm/data-source/data-source.js +0 -83
- package/esm/data-source/data-source.js.map +0 -1
- package/esm/database-dirty-tracker.d.ts +0 -252
- package/esm/database-dirty-tracker.d.ts.map +0 -1
- package/esm/database-dirty-tracker.js +0 -386
- package/esm/database-dirty-tracker.js.map +0 -1
- package/esm/drivers/mongodb/mongodb-blueprint.d.ts +0 -30
- package/esm/drivers/mongodb/mongodb-blueprint.d.ts.map +0 -1
- package/esm/drivers/mongodb/mongodb-blueprint.js +0 -51
- package/esm/drivers/mongodb/mongodb-blueprint.js.map +0 -1
- package/esm/drivers/mongodb/mongodb-driver.d.ts +0 -324
- package/esm/drivers/mongodb/mongodb-driver.d.ts.map +0 -1
- package/esm/drivers/mongodb/mongodb-driver.js +0 -799
- package/esm/drivers/mongodb/mongodb-driver.js.map +0 -1
- package/esm/drivers/mongodb/mongodb-id-generator.d.ts +0 -116
- package/esm/drivers/mongodb/mongodb-id-generator.d.ts.map +0 -1
- package/esm/drivers/mongodb/mongodb-id-generator.js +0 -149
- package/esm/drivers/mongodb/mongodb-id-generator.js.map +0 -1
- package/esm/drivers/mongodb/mongodb-migration-driver.d.ts +0 -317
- package/esm/drivers/mongodb/mongodb-migration-driver.d.ts.map +0 -1
- package/esm/drivers/mongodb/mongodb-migration-driver.js +0 -666
- package/esm/drivers/mongodb/mongodb-migration-driver.js.map +0 -1
- package/esm/drivers/mongodb/mongodb-query-builder.d.ts +0 -1122
- package/esm/drivers/mongodb/mongodb-query-builder.d.ts.map +0 -1
- package/esm/drivers/mongodb/mongodb-query-builder.js +0 -1988
- package/esm/drivers/mongodb/mongodb-query-builder.js.map +0 -1
- package/esm/drivers/mongodb/mongodb-query-operations.d.ts +0 -226
- package/esm/drivers/mongodb/mongodb-query-operations.d.ts.map +0 -1
- package/esm/drivers/mongodb/mongodb-query-operations.js +0 -270
- package/esm/drivers/mongodb/mongodb-query-operations.js.map +0 -1
- package/esm/drivers/mongodb/mongodb-query-parser.d.ts +0 -262
- package/esm/drivers/mongodb/mongodb-query-parser.d.ts.map +0 -1
- package/esm/drivers/mongodb/mongodb-query-parser.js +0 -1351
- package/esm/drivers/mongodb/mongodb-query-parser.js.map +0 -1
- package/esm/drivers/mongodb/mongodb-sync-adapter.d.ts +0 -79
- package/esm/drivers/mongodb/mongodb-sync-adapter.d.ts.map +0 -1
- package/esm/drivers/mongodb/mongodb-sync-adapter.js +0 -146
- package/esm/drivers/mongodb/mongodb-sync-adapter.js.map +0 -1
- package/esm/drivers/mongodb/types.d.ts +0 -43
- package/esm/drivers/mongodb/types.d.ts.map +0 -1
- package/esm/drivers/postgres/index.d.ts +0 -16
- package/esm/drivers/postgres/index.d.ts.map +0 -1
- package/esm/drivers/postgres/postgres-blueprint.d.ts +0 -64
- package/esm/drivers/postgres/postgres-blueprint.d.ts.map +0 -1
- package/esm/drivers/postgres/postgres-blueprint.js +0 -121
- package/esm/drivers/postgres/postgres-blueprint.js.map +0 -1
- package/esm/drivers/postgres/postgres-dialect.d.ts +0 -136
- package/esm/drivers/postgres/postgres-dialect.d.ts.map +0 -1
- package/esm/drivers/postgres/postgres-dialect.js +0 -268
- package/esm/drivers/postgres/postgres-dialect.js.map +0 -1
- package/esm/drivers/postgres/postgres-driver.d.ts +0 -432
- package/esm/drivers/postgres/postgres-driver.d.ts.map +0 -1
- package/esm/drivers/postgres/postgres-driver.js +0 -965
- package/esm/drivers/postgres/postgres-driver.js.map +0 -1
- package/esm/drivers/postgres/postgres-migration-driver.d.ts +0 -397
- package/esm/drivers/postgres/postgres-migration-driver.d.ts.map +0 -1
- package/esm/drivers/postgres/postgres-migration-driver.js +0 -900
- package/esm/drivers/postgres/postgres-migration-driver.js.map +0 -1
- package/esm/drivers/postgres/postgres-query-builder.d.ts +0 -254
- package/esm/drivers/postgres/postgres-query-builder.d.ts.map +0 -1
- package/esm/drivers/postgres/postgres-query-builder.js +0 -933
- package/esm/drivers/postgres/postgres-query-builder.js.map +0 -1
- package/esm/drivers/postgres/postgres-query-parser.d.ts +0 -328
- package/esm/drivers/postgres/postgres-query-parser.d.ts.map +0 -1
- package/esm/drivers/postgres/postgres-query-parser.js +0 -864
- package/esm/drivers/postgres/postgres-query-parser.js.map +0 -1
- package/esm/drivers/postgres/postgres-sql-serializer.d.ts +0 -37
- package/esm/drivers/postgres/postgres-sql-serializer.d.ts.map +0 -1
- package/esm/drivers/postgres/postgres-sql-serializer.js +0 -400
- package/esm/drivers/postgres/postgres-sql-serializer.js.map +0 -1
- package/esm/drivers/postgres/postgres-sync-adapter.d.ts +0 -83
- package/esm/drivers/postgres/postgres-sync-adapter.d.ts.map +0 -1
- package/esm/drivers/postgres/postgres-sync-adapter.js +0 -197
- package/esm/drivers/postgres/postgres-sync-adapter.js.map +0 -1
- package/esm/drivers/postgres/types.d.ts +0 -142
- package/esm/drivers/postgres/types.d.ts.map +0 -1
- package/esm/drivers/sql/index.d.ts +0 -10
- package/esm/drivers/sql/index.d.ts.map +0 -1
- package/esm/drivers/sql/sql-dialect.contract.d.ts +0 -204
- package/esm/drivers/sql/sql-dialect.contract.d.ts.map +0 -1
- package/esm/drivers/sql/sql-types.d.ts +0 -202
- package/esm/drivers/sql/sql-types.d.ts.map +0 -1
- package/esm/errors/missing-data-source.error.d.ts +0 -22
- package/esm/errors/missing-data-source.error.d.ts.map +0 -1
- package/esm/errors/missing-data-source.error.js +0 -29
- package/esm/errors/missing-data-source.error.js.map +0 -1
- package/esm/errors/transaction-rollback.error.d.ts +0 -20
- package/esm/errors/transaction-rollback.error.d.ts.map +0 -1
- package/esm/errors/transaction-rollback.error.js +0 -27
- package/esm/errors/transaction-rollback.error.js.map +0 -1
- package/esm/events/model-events.d.ts +0 -231
- package/esm/events/model-events.d.ts.map +0 -1
- package/esm/events/model-events.js +0 -259
- package/esm/events/model-events.js.map +0 -1
- package/esm/expressions/aggregate-expressions.d.ts +0 -215
- package/esm/expressions/aggregate-expressions.d.ts.map +0 -1
- package/esm/expressions/aggregate-expressions.js +0 -221
- package/esm/expressions/aggregate-expressions.js.map +0 -1
- package/esm/expressions/index.d.ts +0 -2
- package/esm/expressions/index.d.ts.map +0 -1
- package/esm/index.d.ts +0 -45
- package/esm/index.d.ts.map +0 -1
- package/esm/index.js +0 -1
- package/esm/index.js.map +0 -1
- package/esm/migration/column-builder.d.ts +0 -417
- package/esm/migration/column-builder.d.ts.map +0 -1
- package/esm/migration/column-builder.js +0 -586
- package/esm/migration/column-builder.js.map +0 -1
- package/esm/migration/column-helpers.d.ts +0 -275
- package/esm/migration/column-helpers.d.ts.map +0 -1
- package/esm/migration/column-helpers.js +0 -389
- package/esm/migration/column-helpers.js.map +0 -1
- package/esm/migration/foreign-key-builder.d.ts +0 -103
- package/esm/migration/foreign-key-builder.d.ts.map +0 -1
- package/esm/migration/foreign-key-builder.js +0 -121
- package/esm/migration/foreign-key-builder.js.map +0 -1
- package/esm/migration/index.d.ts +0 -7
- package/esm/migration/index.d.ts.map +0 -1
- package/esm/migration/migration-runner.d.ts +0 -278
- package/esm/migration/migration-runner.d.ts.map +0 -1
- package/esm/migration/migration-runner.js +0 -815
- package/esm/migration/migration-runner.js.map +0 -1
- package/esm/migration/migration.d.ts +0 -1992
- package/esm/migration/migration.d.ts.map +0 -1
- package/esm/migration/migration.js +0 -2162
- package/esm/migration/migration.js.map +0 -1
- package/esm/migration/sql-grammar.d.ts +0 -61
- package/esm/migration/sql-grammar.d.ts.map +0 -1
- package/esm/migration/sql-grammar.js +0 -164
- package/esm/migration/sql-grammar.js.map +0 -1
- package/esm/migration/sql-serializer.d.ts +0 -22
- package/esm/migration/sql-serializer.d.ts.map +0 -1
- package/esm/migration/sql-serializer.js +0 -26
- package/esm/migration/sql-serializer.js.map +0 -1
- package/esm/migration/types.d.ts +0 -155
- package/esm/migration/types.d.ts.map +0 -1
- package/esm/model/methods/accessor-methods.d.ts +0 -13
- package/esm/model/methods/accessor-methods.d.ts.map +0 -1
- package/esm/model/methods/accessor-methods.js +0 -51
- package/esm/model/methods/accessor-methods.js.map +0 -1
- package/esm/model/methods/delete-methods.d.ts +0 -10
- package/esm/model/methods/delete-methods.d.ts.map +0 -1
- package/esm/model/methods/delete-methods.js +0 -10
- package/esm/model/methods/delete-methods.js.map +0 -1
- package/esm/model/methods/dirty-methods.d.ts +0 -10
- package/esm/model/methods/dirty-methods.d.ts.map +0 -1
- package/esm/model/methods/dirty-methods.js +0 -15
- package/esm/model/methods/dirty-methods.js.map +0 -1
- package/esm/model/methods/hydration-methods.d.ts +0 -10
- package/esm/model/methods/hydration-methods.d.ts.map +0 -1
- package/esm/model/methods/hydration-methods.js +0 -57
- package/esm/model/methods/hydration-methods.js.map +0 -1
- package/esm/model/methods/instance-event-methods.d.ts +0 -7
- package/esm/model/methods/instance-event-methods.d.ts.map +0 -1
- package/esm/model/methods/instance-event-methods.js +0 -15
- package/esm/model/methods/instance-event-methods.js.map +0 -1
- package/esm/model/methods/meta-methods.d.ts +0 -7
- package/esm/model/methods/meta-methods.d.ts.map +0 -1
- package/esm/model/methods/meta-methods.js +0 -78
- package/esm/model/methods/meta-methods.js.map +0 -1
- package/esm/model/methods/query-methods.d.ts +0 -24
- package/esm/model/methods/query-methods.d.ts.map +0 -1
- package/esm/model/methods/query-methods.js +0 -161
- package/esm/model/methods/query-methods.js.map +0 -1
- package/esm/model/methods/restore-methods.d.ts +0 -10
- package/esm/model/methods/restore-methods.d.ts.map +0 -1
- package/esm/model/methods/restore-methods.js +0 -13
- package/esm/model/methods/restore-methods.js.map +0 -1
- package/esm/model/methods/scope-methods.d.ts +0 -7
- package/esm/model/methods/scope-methods.d.ts.map +0 -1
- package/esm/model/methods/scope-methods.js +0 -15
- package/esm/model/methods/scope-methods.js.map +0 -1
- package/esm/model/methods/serialization-methods.d.ts +0 -3
- package/esm/model/methods/serialization-methods.d.ts.map +0 -1
- package/esm/model/methods/serialization-methods.js +0 -27
- package/esm/model/methods/serialization-methods.js.map +0 -1
- package/esm/model/methods/static-event-methods.d.ts +0 -9
- package/esm/model/methods/static-event-methods.d.ts.map +0 -1
- package/esm/model/methods/static-event-methods.js +0 -29
- package/esm/model/methods/static-event-methods.js.map +0 -1
- package/esm/model/methods/write-methods.d.ts +0 -10
- package/esm/model/methods/write-methods.d.ts.map +0 -1
- package/esm/model/methods/write-methods.js +0 -52
- package/esm/model/methods/write-methods.js.map +0 -1
- package/esm/model/model.d.ts +0 -1650
- package/esm/model/model.d.ts.map +0 -1
- package/esm/model/model.js +0 -1657
- package/esm/model/model.js.map +0 -1
- package/esm/model/model.types.d.ts +0 -44
- package/esm/model/model.types.d.ts.map +0 -1
- package/esm/model/register-model.d.ts +0 -81
- package/esm/model/register-model.d.ts.map +0 -1
- package/esm/model/register-model.js +0 -94
- package/esm/model/register-model.js.map +0 -1
- package/esm/query-builder/query-builder.d.ts +0 -556
- package/esm/query-builder/query-builder.d.ts.map +0 -1
- package/esm/query-builder/query-builder.js +0 -1070
- package/esm/query-builder/query-builder.js.map +0 -1
- package/esm/relations/helpers.d.ts +0 -156
- package/esm/relations/helpers.d.ts.map +0 -1
- package/esm/relations/helpers.js +0 -201
- package/esm/relations/helpers.js.map +0 -1
- package/esm/relations/index.d.ts +0 -35
- package/esm/relations/index.d.ts.map +0 -1
- package/esm/relations/pivot-operations.d.ts +0 -160
- package/esm/relations/pivot-operations.d.ts.map +0 -1
- package/esm/relations/pivot-operations.js +0 -293
- package/esm/relations/pivot-operations.js.map +0 -1
- package/esm/relations/relation-hydrator.d.ts +0 -68
- package/esm/relations/relation-hydrator.d.ts.map +0 -1
- package/esm/relations/relation-hydrator.js +0 -81
- package/esm/relations/relation-hydrator.js.map +0 -1
- package/esm/relations/relation-loader.d.ts +0 -194
- package/esm/relations/relation-loader.d.ts.map +0 -1
- package/esm/relations/relation-loader.js +0 -466
- package/esm/relations/relation-loader.js.map +0 -1
- package/esm/relations/types.d.ts +0 -306
- package/esm/relations/types.d.ts.map +0 -1
- package/esm/remover/database-remover.d.ts +0 -100
- package/esm/remover/database-remover.d.ts.map +0 -1
- package/esm/remover/database-remover.js +0 -214
- package/esm/remover/database-remover.js.map +0 -1
- package/esm/restorer/database-restorer.d.ts +0 -131
- package/esm/restorer/database-restorer.d.ts.map +0 -1
- package/esm/restorer/database-restorer.js +0 -434
- package/esm/restorer/database-restorer.js.map +0 -1
- package/esm/sql-database-dirty-tracker.d.ts +0 -13
- package/esm/sql-database-dirty-tracker.d.ts.map +0 -1
- package/esm/sql-database-dirty-tracker.js +0 -14
- package/esm/sql-database-dirty-tracker.js.map +0 -1
- package/esm/sync/index.d.ts +0 -12
- package/esm/sync/index.d.ts.map +0 -1
- package/esm/sync/model-events.d.ts +0 -62
- package/esm/sync/model-events.d.ts.map +0 -1
- package/esm/sync/model-events.js +0 -49
- package/esm/sync/model-events.js.map +0 -1
- package/esm/sync/model-sync-operation.d.ts +0 -163
- package/esm/sync/model-sync-operation.d.ts.map +0 -1
- package/esm/sync/model-sync-operation.js +0 -292
- package/esm/sync/model-sync-operation.js.map +0 -1
- package/esm/sync/model-sync.d.ts +0 -130
- package/esm/sync/model-sync.d.ts.map +0 -1
- package/esm/sync/model-sync.js +0 -178
- package/esm/sync/model-sync.js.map +0 -1
- package/esm/sync/sync-context.d.ts +0 -70
- package/esm/sync/sync-context.d.ts.map +0 -1
- package/esm/sync/sync-context.js +0 -101
- package/esm/sync/sync-context.js.map +0 -1
- package/esm/sync/sync-manager.d.ts +0 -213
- package/esm/sync/sync-manager.d.ts.map +0 -1
- package/esm/sync/sync-manager.js +0 -689
- package/esm/sync/sync-manager.js.map +0 -1
- package/esm/sync/types.d.ts +0 -289
- package/esm/sync/types.d.ts.map +0 -1
- package/esm/test-migrations/test-enhanced-features.migration.d.ts +0 -15
- package/esm/test-migrations/test-enhanced-features.migration.d.ts.map +0 -1
- package/esm/types.d.ts +0 -371
- package/esm/types.d.ts.map +0 -1
- package/esm/utils/connect-to-database.d.ts +0 -300
- package/esm/utils/connect-to-database.d.ts.map +0 -1
- package/esm/utils/connect-to-database.js +0 -128
- package/esm/utils/connect-to-database.js.map +0 -1
- package/esm/utils/database-writer.utils.d.ts +0 -15
- package/esm/utils/database-writer.utils.d.ts.map +0 -1
- package/esm/utils/database-writer.utils.js +0 -14
- package/esm/utils/database-writer.utils.js.map +0 -1
- package/esm/utils/define-model.js +0 -100
- package/esm/utils/define-model.js.map +0 -1
- package/esm/utils/is-valid-date-value.d.ts +0 -5
- package/esm/utils/is-valid-date-value.d.ts.map +0 -1
- package/esm/utils/is-valid-date-value.js +0 -25
- package/esm/utils/is-valid-date-value.js.map +0 -1
- package/esm/utils/once-connected.d.ts +0 -146
- package/esm/utils/once-connected.d.ts.map +0 -1
- package/esm/utils/once-connected.js +0 -251
- package/esm/utils/once-connected.js.map +0 -1
- package/esm/validation/database-seal-plugins.d.ts +0 -12
- package/esm/validation/database-seal-plugins.d.ts.map +0 -1
- package/esm/validation/database-seal-plugins.js +0 -1
- package/esm/validation/database-seal-plugins.js.map +0 -1
- package/esm/validation/database-writer-validation-error.d.ts +0 -97
- package/esm/validation/database-writer-validation-error.d.ts.map +0 -1
- package/esm/validation/database-writer-validation-error.js +0 -160
- package/esm/validation/database-writer-validation-error.js.map +0 -1
- package/esm/validation/index.d.ts +0 -3
- package/esm/validation/index.d.ts.map +0 -1
- package/esm/validation/mutators/embed-mutator.d.ts +0 -9
- package/esm/validation/mutators/embed-mutator.d.ts.map +0 -1
- package/esm/validation/mutators/embed-mutator.js +0 -33
- package/esm/validation/mutators/embed-mutator.js.map +0 -1
- package/esm/validation/plugins/embed-validator-plugin.d.ts +0 -24
- package/esm/validation/plugins/embed-validator-plugin.d.ts.map +0 -1
- package/esm/validation/plugins/embed-validator-plugin.js +0 -18
- package/esm/validation/plugins/embed-validator-plugin.js.map +0 -1
- package/esm/validation/rules/database-model-rule.d.ts +0 -7
- package/esm/validation/rules/database-model-rule.d.ts.map +0 -1
- package/esm/validation/rules/database-model-rule.js +0 -27
- package/esm/validation/rules/database-model-rule.js.map +0 -1
- package/esm/validation/transformers/embed-model-transformer.d.ts +0 -3
- package/esm/validation/transformers/embed-model-transformer.d.ts.map +0 -1
- package/esm/validation/transformers/embed-model-transformer.js +0 -18
- package/esm/validation/transformers/embed-model-transformer.js.map +0 -1
- package/esm/validation/validators/embed-validator.d.ts +0 -21
- package/esm/validation/validators/embed-validator.d.ts.map +0 -1
- package/esm/validation/validators/embed-validator.js +0 -43
- package/esm/validation/validators/embed-validator.js.map +0 -1
- package/esm/writer/database-writer.d.ts +0 -181
- package/esm/writer/database-writer.d.ts.map +0 -1
- package/esm/writer/database-writer.js +0 -407
- package/esm/writer/database-writer.js.map +0 -1
|
@@ -1,666 +0,0 @@
|
|
|
1
|
-
'use strict';var databaseTransactionContext=require('../../context/database-transaction-context.js');/**
|
|
2
|
-
* MongoDB-specific migration driver implementation.
|
|
3
|
-
*
|
|
4
|
-
* Key behaviors:
|
|
5
|
-
* - Column operations are **no-ops** (MongoDB is schema-less)
|
|
6
|
-
* - Index operations use native `createIndex()`
|
|
7
|
-
* - Foreign keys are **no-ops** (MongoDB has no FK constraints)
|
|
8
|
-
* - TTL indexes supported natively
|
|
9
|
-
* - Vector indexes use Atlas Search (when available)
|
|
10
|
-
* - Schema validation uses `collMod` command
|
|
11
|
-
*
|
|
12
|
-
* @example
|
|
13
|
-
* ```typescript
|
|
14
|
-
* const migrationDriver = new MongoMigrationDriver(mongoDriver);
|
|
15
|
-
* await migrationDriver.createIndex("users", {
|
|
16
|
-
* columns: ["email"],
|
|
17
|
-
* unique: true,
|
|
18
|
-
* });
|
|
19
|
-
* ```
|
|
20
|
-
*/
|
|
21
|
-
class MongoMigrationDriver {
|
|
22
|
-
driver;
|
|
23
|
-
/** Active transaction session (if any) */
|
|
24
|
-
session;
|
|
25
|
-
/**
|
|
26
|
-
* Create a new MongoDB migration driver.
|
|
27
|
-
*
|
|
28
|
-
* @param driver - The MongoDB driver instance
|
|
29
|
-
*/
|
|
30
|
-
constructor(driver) {
|
|
31
|
-
this.driver = driver;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Get the MongoDB database instance.
|
|
35
|
-
*/
|
|
36
|
-
get db() {
|
|
37
|
-
return this.driver.getDatabase();
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Get session options for operations.
|
|
41
|
-
*/
|
|
42
|
-
get sessionOptions() {
|
|
43
|
-
const session = databaseTransactionContext.databaseTransactionContext.getSession();
|
|
44
|
-
return session ? { session } : undefined;
|
|
45
|
-
}
|
|
46
|
-
// ============================================================================
|
|
47
|
-
// TABLE/COLLECTION OPERATIONS
|
|
48
|
-
// ============================================================================
|
|
49
|
-
/**
|
|
50
|
-
* Create a new collection.
|
|
51
|
-
*
|
|
52
|
-
* MongoDB creates collections lazily on first insert, but this method
|
|
53
|
-
* creates them explicitly for migrations that need to add indexes or
|
|
54
|
-
* schema validation.
|
|
55
|
-
*/
|
|
56
|
-
async createTable(table) {
|
|
57
|
-
try {
|
|
58
|
-
await this.db.createCollection(table);
|
|
59
|
-
}
|
|
60
|
-
catch (error) {
|
|
61
|
-
// Collection already exists - ignore
|
|
62
|
-
if (error.codeName === "NamespaceExists") {
|
|
63
|
-
return;
|
|
64
|
-
}
|
|
65
|
-
throw error;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Create table if not exists
|
|
70
|
-
*/
|
|
71
|
-
async createTableIfNotExists(table) {
|
|
72
|
-
try {
|
|
73
|
-
await this.db.createCollection(table);
|
|
74
|
-
}
|
|
75
|
-
catch (error) {
|
|
76
|
-
// Collection already exists - ignore
|
|
77
|
-
if (error.codeName === "NamespaceExists") {
|
|
78
|
-
return;
|
|
79
|
-
}
|
|
80
|
-
throw error;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Drop an existing collection.
|
|
85
|
-
*
|
|
86
|
-
* @throws Error if collection doesn't exist
|
|
87
|
-
*/
|
|
88
|
-
async dropTable(table) {
|
|
89
|
-
await this.db.dropCollection(table);
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Drop collection if it exists (no error if missing).
|
|
93
|
-
*/
|
|
94
|
-
async dropTableIfExists(table) {
|
|
95
|
-
try {
|
|
96
|
-
await this.db.dropCollection(table);
|
|
97
|
-
}
|
|
98
|
-
catch {
|
|
99
|
-
// Collection doesn't exist - ignore
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Rename a collection.
|
|
104
|
-
*/
|
|
105
|
-
async renameTable(from, to) {
|
|
106
|
-
await this.db.renameCollection(from, to);
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Truncate a collection — remove all documents.
|
|
110
|
-
*
|
|
111
|
-
* @param table - Collection name
|
|
112
|
-
*/
|
|
113
|
-
async truncateTable(table) {
|
|
114
|
-
await this.db.collection(table).deleteMany({});
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* Check if a collection exists.
|
|
118
|
-
*/
|
|
119
|
-
async tableExists(table) {
|
|
120
|
-
const collections = await this.db.listCollections({ name: table }).toArray();
|
|
121
|
-
return collections.length > 0;
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* List all columns in a collection.
|
|
125
|
-
*
|
|
126
|
-
* MongoDB is schema-less, so this returns an empty array.
|
|
127
|
-
* For actual schema inspection, would need to sample documents.
|
|
128
|
-
*/
|
|
129
|
-
async listColumns(_table) {
|
|
130
|
-
// No-op: MongoDB is schema-less
|
|
131
|
-
return [];
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* List all collections in the current database.
|
|
135
|
-
*/
|
|
136
|
-
async listTables() {
|
|
137
|
-
const collections = await this.db.listCollections().toArray();
|
|
138
|
-
return collections.map((col) => col.name);
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* Ensure the migrations tracking collection exists.
|
|
142
|
-
*
|
|
143
|
-
* MongoDB creates collections lazily, but we can create explicitly
|
|
144
|
-
* and add a unique index on the name field.
|
|
145
|
-
*
|
|
146
|
-
* @param tableName - Name of the migrations collection
|
|
147
|
-
*/
|
|
148
|
-
async ensureMigrationsTable(tableName) {
|
|
149
|
-
// Create collection if not exists
|
|
150
|
-
const exists = await this.tableExists(tableName);
|
|
151
|
-
if (!exists) {
|
|
152
|
-
await this.db.createCollection(tableName);
|
|
153
|
-
}
|
|
154
|
-
// Ensure unique index on name
|
|
155
|
-
await this.db.collection(tableName).createIndex({ name: 1 }, { unique: true });
|
|
156
|
-
}
|
|
157
|
-
// ============================================================================
|
|
158
|
-
// COLUMN OPERATIONS (No-ops for MongoDB)
|
|
159
|
-
// ============================================================================
|
|
160
|
-
/**
|
|
161
|
-
* Add a column (no-op for MongoDB).
|
|
162
|
-
*
|
|
163
|
-
* MongoDB is schema-less, so columns don't need to be declared.
|
|
164
|
-
*/
|
|
165
|
-
async addColumn(_table, _column) {
|
|
166
|
-
// No-op: MongoDB is schema-less
|
|
167
|
-
}
|
|
168
|
-
/**
|
|
169
|
-
* Drop a column by running $unset on all documents.
|
|
170
|
-
*
|
|
171
|
-
* This actually removes the field from all documents in the collection.
|
|
172
|
-
*/
|
|
173
|
-
async dropColumn(table, column) {
|
|
174
|
-
const collection = this.db.collection(table);
|
|
175
|
-
await collection.updateMany({}, { $unset: { [column]: "" } }, this.sessionOptions);
|
|
176
|
-
}
|
|
177
|
-
/**
|
|
178
|
-
* Drop multiple columns by running $unset on all documents.
|
|
179
|
-
*/
|
|
180
|
-
async dropColumns(table, columns) {
|
|
181
|
-
const collection = this.db.collection(table);
|
|
182
|
-
const unsetFields = {};
|
|
183
|
-
for (const column of columns) {
|
|
184
|
-
unsetFields[column] = "";
|
|
185
|
-
}
|
|
186
|
-
await collection.updateMany({}, { $unset: unsetFields }, this.sessionOptions);
|
|
187
|
-
}
|
|
188
|
-
/**
|
|
189
|
-
* Rename a column by running $rename on all documents.
|
|
190
|
-
*/
|
|
191
|
-
async renameColumn(table, from, to) {
|
|
192
|
-
const collection = this.db.collection(table);
|
|
193
|
-
await collection.updateMany({}, { $rename: { [from]: to } }, this.sessionOptions);
|
|
194
|
-
}
|
|
195
|
-
/**
|
|
196
|
-
* Modify a column definition (no-op for MongoDB).
|
|
197
|
-
*
|
|
198
|
-
* MongoDB is schema-less, so column types don't need to be modified.
|
|
199
|
-
*/
|
|
200
|
-
async modifyColumn(_table, _column) {
|
|
201
|
-
// No-op: MongoDB is schema-less
|
|
202
|
-
}
|
|
203
|
-
/**
|
|
204
|
-
* Create standard timestamp columns (created_at, updated_at).
|
|
205
|
-
*
|
|
206
|
-
* MongoDB implementation is a no-op since timestamps are handled
|
|
207
|
-
* at the application level via Model hooks.
|
|
208
|
-
*
|
|
209
|
-
* @param _table - Collection name (unused)
|
|
210
|
-
*/
|
|
211
|
-
async createTimestampColumns(_table) {
|
|
212
|
-
// No-op: MongoDB handles timestamps at application level
|
|
213
|
-
}
|
|
214
|
-
// ============================================================================
|
|
215
|
-
// INDEX OPERATIONS
|
|
216
|
-
// ============================================================================
|
|
217
|
-
/**
|
|
218
|
-
* Create an index on one or more columns.
|
|
219
|
-
*
|
|
220
|
-
* **Note**: Expression-based indexes, INCLUDE clause, and concurrent creation
|
|
221
|
-
* are PostgreSQL-specific features and are silently ignored by MongoDB.
|
|
222
|
-
*/
|
|
223
|
-
async createIndex(table, index) {
|
|
224
|
-
// Skip expression-based indexes (PostgreSQL-specific)
|
|
225
|
-
if (index.expressions && index.expressions.length > 0) {
|
|
226
|
-
// No-op: MongoDB doesn't support expression-based indexes
|
|
227
|
-
return;
|
|
228
|
-
}
|
|
229
|
-
// Ignore include and concurrently options (PostgreSQL-specific)
|
|
230
|
-
// MongoDB doesn't support covering indexes or concurrent creation
|
|
231
|
-
const collection = this.db.collection(table);
|
|
232
|
-
// Build index specification
|
|
233
|
-
const indexSpec = {};
|
|
234
|
-
for (let i = 0; i < index.columns.length; i++) {
|
|
235
|
-
const column = index.columns[i];
|
|
236
|
-
const direction = index.directions?.[i] === "desc" ? -1 : 1;
|
|
237
|
-
indexSpec[column] = direction;
|
|
238
|
-
}
|
|
239
|
-
// Build index options
|
|
240
|
-
const options = {};
|
|
241
|
-
if (index.name) {
|
|
242
|
-
options.name = index.name;
|
|
243
|
-
}
|
|
244
|
-
if (index.unique) {
|
|
245
|
-
options.unique = true;
|
|
246
|
-
}
|
|
247
|
-
if (index.sparse) {
|
|
248
|
-
options.sparse = true;
|
|
249
|
-
}
|
|
250
|
-
if (index.where) {
|
|
251
|
-
options.partialFilterExpression = index.where;
|
|
252
|
-
}
|
|
253
|
-
await collection.createIndex(indexSpec, options);
|
|
254
|
-
}
|
|
255
|
-
/**
|
|
256
|
-
* Drop an index by name or columns.
|
|
257
|
-
*
|
|
258
|
-
* @param indexNameOrColumns - Index name (string) or columns array
|
|
259
|
-
*/
|
|
260
|
-
async dropIndex(table, indexNameOrColumns) {
|
|
261
|
-
const collection = this.db.collection(table);
|
|
262
|
-
if (!Array.isArray(indexNameOrColumns)) {
|
|
263
|
-
indexNameOrColumns = [indexNameOrColumns];
|
|
264
|
-
}
|
|
265
|
-
// If columns array provided, generate MongoDB-style index name
|
|
266
|
-
// MongoDB creates index names like: "column1_1_column2_1"
|
|
267
|
-
const indexName = indexNameOrColumns.map((col) => `${col}_1`).join("_");
|
|
268
|
-
await collection.dropIndex(indexName);
|
|
269
|
-
}
|
|
270
|
-
/**
|
|
271
|
-
* Create a unique index/constraint.
|
|
272
|
-
*/
|
|
273
|
-
async createUniqueIndex(table, columns, name) {
|
|
274
|
-
await this.createIndex(table, {
|
|
275
|
-
columns,
|
|
276
|
-
unique: true,
|
|
277
|
-
name,
|
|
278
|
-
});
|
|
279
|
-
}
|
|
280
|
-
/**
|
|
281
|
-
* Drop a unique index by finding its name from columns.
|
|
282
|
-
*/
|
|
283
|
-
async dropUniqueIndex(table, columns) {
|
|
284
|
-
const collection = this.db.collection(table);
|
|
285
|
-
const indexes = await collection.indexes();
|
|
286
|
-
// Find the index that matches the columns
|
|
287
|
-
for (const idx of indexes) {
|
|
288
|
-
const indexKeys = Object.keys(idx.key || {});
|
|
289
|
-
if (indexKeys.length === columns.length && indexKeys.every((key, i) => key === columns[i])) {
|
|
290
|
-
if (idx.name && idx.name !== "_id_") {
|
|
291
|
-
await collection.dropIndex(idx.name);
|
|
292
|
-
return;
|
|
293
|
-
}
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
// ============================================================================
|
|
298
|
-
// SPECIALIZED INDEXES
|
|
299
|
-
// ============================================================================
|
|
300
|
-
/**
|
|
301
|
-
* Create a full-text search index.
|
|
302
|
-
*
|
|
303
|
-
* MongoDB uses "text" index type for full-text search.
|
|
304
|
-
*/
|
|
305
|
-
async createFullTextIndex(table, columns, options) {
|
|
306
|
-
const collection = this.db.collection(table);
|
|
307
|
-
// Build text index specification
|
|
308
|
-
const indexSpec = {};
|
|
309
|
-
for (const column of columns) {
|
|
310
|
-
indexSpec[column] = "text";
|
|
311
|
-
}
|
|
312
|
-
// Build options
|
|
313
|
-
const indexOptions = {};
|
|
314
|
-
if (options?.name) {
|
|
315
|
-
indexOptions.name = options.name;
|
|
316
|
-
}
|
|
317
|
-
if (options?.language) {
|
|
318
|
-
indexOptions.default_language = options.language;
|
|
319
|
-
}
|
|
320
|
-
if (options?.weights) {
|
|
321
|
-
indexOptions.weights = options.weights;
|
|
322
|
-
}
|
|
323
|
-
await collection.createIndex(indexSpec, indexOptions);
|
|
324
|
-
}
|
|
325
|
-
/**
|
|
326
|
-
* Drop a full-text search index.
|
|
327
|
-
*/
|
|
328
|
-
async dropFullTextIndex(table, name) {
|
|
329
|
-
await this.dropIndex(table, name);
|
|
330
|
-
}
|
|
331
|
-
/**
|
|
332
|
-
* Create a geo-spatial index.
|
|
333
|
-
*/
|
|
334
|
-
async createGeoIndex(table, column, options) {
|
|
335
|
-
const collection = this.db.collection(table);
|
|
336
|
-
// Build geo index specification - MongoDB accepts string values for geo indexes
|
|
337
|
-
const indexType = options?.type ?? "2dsphere";
|
|
338
|
-
// Build options
|
|
339
|
-
const indexOptions = {};
|
|
340
|
-
if (options?.name) {
|
|
341
|
-
indexOptions.name = options.name;
|
|
342
|
-
}
|
|
343
|
-
if (options?.min !== undefined) {
|
|
344
|
-
indexOptions.min = options.min;
|
|
345
|
-
}
|
|
346
|
-
if (options?.max !== undefined) {
|
|
347
|
-
indexOptions.max = options.max;
|
|
348
|
-
}
|
|
349
|
-
await collection.createIndex({ [column]: indexType }, indexOptions);
|
|
350
|
-
}
|
|
351
|
-
/**
|
|
352
|
-
* Drop a geo-spatial index.
|
|
353
|
-
*/
|
|
354
|
-
async dropGeoIndex(table, column) {
|
|
355
|
-
const collection = this.db.collection(table);
|
|
356
|
-
const indexes = await collection.indexes();
|
|
357
|
-
// Find the geo index for this column
|
|
358
|
-
for (const idx of indexes) {
|
|
359
|
-
const key = idx.key || {};
|
|
360
|
-
if (column in key && (key[column] === "2dsphere" || key[column] === "2d")) {
|
|
361
|
-
if (idx.name && idx.name !== "_id_") {
|
|
362
|
-
await collection.dropIndex(idx.name);
|
|
363
|
-
return;
|
|
364
|
-
}
|
|
365
|
-
}
|
|
366
|
-
}
|
|
367
|
-
}
|
|
368
|
-
/**
|
|
369
|
-
* Create a vector search index for AI embeddings.
|
|
370
|
-
*
|
|
371
|
-
* Note: This requires MongoDB Atlas with Vector Search enabled.
|
|
372
|
-
* For self-hosted MongoDB, this will create a regular index on the field.
|
|
373
|
-
*/
|
|
374
|
-
async createVectorIndex(table, column, options) {
|
|
375
|
-
const collection = this.db.collection(table);
|
|
376
|
-
// Try to create Atlas vector search index first
|
|
377
|
-
try {
|
|
378
|
-
// Check if we're on Atlas by looking for vectorSearch indexes
|
|
379
|
-
const searchIndexes = await collection.listSearchIndexes?.()?.toArray?.();
|
|
380
|
-
if (Array.isArray(searchIndexes)) {
|
|
381
|
-
// We're on Atlas - create a vector search index
|
|
382
|
-
await collection.createSearchIndex({
|
|
383
|
-
name: options.name ?? `${column}_vector_idx`,
|
|
384
|
-
definition: {
|
|
385
|
-
mappings: {
|
|
386
|
-
dynamic: false,
|
|
387
|
-
fields: {
|
|
388
|
-
[column]: {
|
|
389
|
-
type: "knnVector",
|
|
390
|
-
dimensions: options.dimensions,
|
|
391
|
-
similarity: options.similarity ?? "cosine",
|
|
392
|
-
},
|
|
393
|
-
},
|
|
394
|
-
},
|
|
395
|
-
},
|
|
396
|
-
});
|
|
397
|
-
return;
|
|
398
|
-
}
|
|
399
|
-
}
|
|
400
|
-
catch {
|
|
401
|
-
// Not on Atlas or doesn't support search indexes
|
|
402
|
-
}
|
|
403
|
-
// Fallback: Create a regular index on the vector field
|
|
404
|
-
// This won't provide vector search capabilities but ensures the field is indexed
|
|
405
|
-
await collection.createIndex({ [column]: 1 }, { name: options.name ?? `${column}_vector_idx` });
|
|
406
|
-
}
|
|
407
|
-
/**
|
|
408
|
-
* Drop a vector search index.
|
|
409
|
-
*/
|
|
410
|
-
async dropVectorIndex(table, column) {
|
|
411
|
-
const collection = this.db.collection(table);
|
|
412
|
-
// Try to drop Atlas search index first
|
|
413
|
-
try {
|
|
414
|
-
const searchIndexes = await collection.listSearchIndexes?.()?.toArray?.();
|
|
415
|
-
if (Array.isArray(searchIndexes)) {
|
|
416
|
-
for (const idx of searchIndexes) {
|
|
417
|
-
if (idx.name?.includes(column)) {
|
|
418
|
-
await collection.dropSearchIndex(idx.name);
|
|
419
|
-
return;
|
|
420
|
-
}
|
|
421
|
-
}
|
|
422
|
-
}
|
|
423
|
-
}
|
|
424
|
-
catch {
|
|
425
|
-
// Not on Atlas
|
|
426
|
-
}
|
|
427
|
-
// Fallback: Try to drop regular index
|
|
428
|
-
const indexName = `${column}_vector_idx`;
|
|
429
|
-
try {
|
|
430
|
-
await collection.dropIndex(indexName);
|
|
431
|
-
}
|
|
432
|
-
catch {
|
|
433
|
-
// Index doesn't exist
|
|
434
|
-
}
|
|
435
|
-
}
|
|
436
|
-
/**
|
|
437
|
-
* Create a TTL (time-to-live) index for automatic document expiration.
|
|
438
|
-
*/
|
|
439
|
-
async createTTLIndex(table, column, expireAfterSeconds) {
|
|
440
|
-
const collection = this.db.collection(table);
|
|
441
|
-
await collection.createIndex({ [column]: 1 }, { expireAfterSeconds });
|
|
442
|
-
}
|
|
443
|
-
/**
|
|
444
|
-
* Drop a TTL index.
|
|
445
|
-
*/
|
|
446
|
-
async dropTTLIndex(table, column) {
|
|
447
|
-
const collection = this.db.collection(table);
|
|
448
|
-
const indexes = await collection.indexes();
|
|
449
|
-
// Find the TTL index for this column
|
|
450
|
-
for (const idx of indexes) {
|
|
451
|
-
const key = idx.key || {};
|
|
452
|
-
if (column in key && idx.expireAfterSeconds !== undefined) {
|
|
453
|
-
if (idx.name && idx.name !== "_id_") {
|
|
454
|
-
await collection.dropIndex(idx.name);
|
|
455
|
-
return;
|
|
456
|
-
}
|
|
457
|
-
}
|
|
458
|
-
}
|
|
459
|
-
}
|
|
460
|
-
/**
|
|
461
|
-
* List all indexes on a collection.
|
|
462
|
-
*
|
|
463
|
-
* @param table - Collection name
|
|
464
|
-
* @returns Array of index metadata
|
|
465
|
-
*/
|
|
466
|
-
async listIndexes(table) {
|
|
467
|
-
const collection = this.db.collection(table);
|
|
468
|
-
const indexes = await collection.indexes();
|
|
469
|
-
return indexes.map((idx) => ({
|
|
470
|
-
name: idx.name ?? "",
|
|
471
|
-
columns: Object.keys(idx.key ?? {}),
|
|
472
|
-
type: "btree",
|
|
473
|
-
unique: idx.unique ?? false,
|
|
474
|
-
partial: !!idx.partialFilterExpression,
|
|
475
|
-
options: { sparse: idx.sparse, expireAfterSeconds: idx.expireAfterSeconds },
|
|
476
|
-
}));
|
|
477
|
-
}
|
|
478
|
-
// ============================================================================
|
|
479
|
-
// CONSTRAINTS (No-ops for MongoDB)
|
|
480
|
-
// ============================================================================
|
|
481
|
-
/**
|
|
482
|
-
* Add a foreign key constraint (no-op for MongoDB).
|
|
483
|
-
*
|
|
484
|
-
* MongoDB doesn't support foreign key constraints.
|
|
485
|
-
* Use application-level validation or DBRefs instead.
|
|
486
|
-
*/
|
|
487
|
-
async addForeignKey(_table, _foreignKey) {
|
|
488
|
-
// No-op: MongoDB doesn't support foreign keys
|
|
489
|
-
}
|
|
490
|
-
/**
|
|
491
|
-
* Drop a foreign key constraint (no-op for MongoDB).
|
|
492
|
-
*/
|
|
493
|
-
async dropForeignKey(_table, _name) {
|
|
494
|
-
// No-op: MongoDB doesn't support foreign keys
|
|
495
|
-
}
|
|
496
|
-
/**
|
|
497
|
-
* Add a primary key constraint (no-op for MongoDB).
|
|
498
|
-
*
|
|
499
|
-
* MongoDB always has _id as the primary key.
|
|
500
|
-
*/
|
|
501
|
-
async addPrimaryKey(_table, _columns) {
|
|
502
|
-
// No-op: MongoDB always has _id as primary key
|
|
503
|
-
}
|
|
504
|
-
/**
|
|
505
|
-
* Drop the primary key constraint (no-op for MongoDB).
|
|
506
|
-
*/
|
|
507
|
-
async dropPrimaryKey(_table) {
|
|
508
|
-
// No-op: Cannot drop _id index in MongoDB
|
|
509
|
-
}
|
|
510
|
-
/**
|
|
511
|
-
* Add a CHECK constraint (no-op for MongoDB).
|
|
512
|
-
*
|
|
513
|
-
* MongoDB doesn't support CHECK constraints.
|
|
514
|
-
* Use schema validation instead.
|
|
515
|
-
*/
|
|
516
|
-
async addCheck(_table, _name, _expression) {
|
|
517
|
-
// No-op: MongoDB doesn't support CHECK constraints
|
|
518
|
-
}
|
|
519
|
-
/**
|
|
520
|
-
* Drop a CHECK constraint (no-op for MongoDB).
|
|
521
|
-
*/
|
|
522
|
-
async dropCheck(_table, _name) {
|
|
523
|
-
// No-op: MongoDB doesn't support CHECK constraints
|
|
524
|
-
}
|
|
525
|
-
// ============================================================================
|
|
526
|
-
// SCHEMA VALIDATION (NoSQL)
|
|
527
|
-
// ============================================================================
|
|
528
|
-
/**
|
|
529
|
-
* Set JSON schema validation rules on a collection.
|
|
530
|
-
*
|
|
531
|
-
* Uses MongoDB's validator feature to enforce document structure.
|
|
532
|
-
*
|
|
533
|
-
* @example
|
|
534
|
-
* ```typescript
|
|
535
|
-
* await driver.setSchemaValidation("users", {
|
|
536
|
-
* bsonType: "object",
|
|
537
|
-
* required: ["name", "email"],
|
|
538
|
-
* properties: {
|
|
539
|
-
* name: { bsonType: "string" },
|
|
540
|
-
* email: { bsonType: "string" },
|
|
541
|
-
* },
|
|
542
|
-
* });
|
|
543
|
-
* ```
|
|
544
|
-
*/
|
|
545
|
-
async setSchemaValidation(table, schema) {
|
|
546
|
-
await this.db.command({
|
|
547
|
-
collMod: table,
|
|
548
|
-
validator: { $jsonSchema: schema },
|
|
549
|
-
validationLevel: "strict",
|
|
550
|
-
validationAction: "error",
|
|
551
|
-
});
|
|
552
|
-
}
|
|
553
|
-
/**
|
|
554
|
-
* Remove schema validation rules from a collection.
|
|
555
|
-
*/
|
|
556
|
-
async removeSchemaValidation(table) {
|
|
557
|
-
await this.db.command({
|
|
558
|
-
collMod: table,
|
|
559
|
-
validator: {},
|
|
560
|
-
validationLevel: "off",
|
|
561
|
-
});
|
|
562
|
-
}
|
|
563
|
-
// ============================================================================
|
|
564
|
-
// TRANSACTIONS
|
|
565
|
-
// ============================================================================
|
|
566
|
-
/**
|
|
567
|
-
* Begin a database transaction.
|
|
568
|
-
*
|
|
569
|
-
* Uses the driver's transaction mechanism.
|
|
570
|
-
*/
|
|
571
|
-
async beginTransaction() {
|
|
572
|
-
const transaction = await this.driver.beginTransaction();
|
|
573
|
-
this.session = transaction.context;
|
|
574
|
-
}
|
|
575
|
-
/**
|
|
576
|
-
* Commit the current transaction.
|
|
577
|
-
*/
|
|
578
|
-
async commit() {
|
|
579
|
-
if (this.session) {
|
|
580
|
-
await this.session.commitTransaction();
|
|
581
|
-
await this.session.endSession();
|
|
582
|
-
this.session = undefined;
|
|
583
|
-
}
|
|
584
|
-
}
|
|
585
|
-
/**
|
|
586
|
-
* Rollback the current transaction.
|
|
587
|
-
*/
|
|
588
|
-
async rollback() {
|
|
589
|
-
if (this.session) {
|
|
590
|
-
await this.session.abortTransaction();
|
|
591
|
-
await this.session.endSession();
|
|
592
|
-
this.session = undefined;
|
|
593
|
-
}
|
|
594
|
-
}
|
|
595
|
-
/**
|
|
596
|
-
* MongoDB supports transactions (requires replica set).
|
|
597
|
-
*/
|
|
598
|
-
supportsTransactions() {
|
|
599
|
-
return true;
|
|
600
|
-
}
|
|
601
|
-
/**
|
|
602
|
-
* Get the default transactional behavior for MongoDB.
|
|
603
|
-
*
|
|
604
|
-
* MongoDB DDL operations (createCollection, createIndex, etc.) cannot
|
|
605
|
-
* be wrapped in transactions, even with replica sets. Transactions only
|
|
606
|
-
* work for document CRUD operations.
|
|
607
|
-
*
|
|
608
|
-
* @returns false (MongoDB DDL is not transactional)
|
|
609
|
-
*/
|
|
610
|
-
getDefaultTransactional() {
|
|
611
|
-
return false;
|
|
612
|
-
}
|
|
613
|
-
// ============================================================================
|
|
614
|
-
// DEFAULTS
|
|
615
|
-
// ============================================================================
|
|
616
|
-
/**
|
|
617
|
-
* Get the default UUID generation expression for MongoDB.
|
|
618
|
-
*
|
|
619
|
-
* MongoDB does not use SQL-level UUID defaults — UUID generation
|
|
620
|
-
* is handled at the application level. Always returns `undefined`.
|
|
621
|
-
*
|
|
622
|
-
* @param _migrationDefaults - Ignored (MongoDB handles UUIDs at app level)
|
|
623
|
-
* @returns undefined
|
|
624
|
-
*/
|
|
625
|
-
getUuidDefault(_migrationDefaults) {
|
|
626
|
-
return undefined;
|
|
627
|
-
}
|
|
628
|
-
// ============================================================================
|
|
629
|
-
// EXTENSIONS
|
|
630
|
-
// ============================================================================
|
|
631
|
-
/**
|
|
632
|
-
* Check if a database extension is available (no-op for MongoDB).
|
|
633
|
-
*
|
|
634
|
-
* @param _extension - Extension name
|
|
635
|
-
*/
|
|
636
|
-
async isExtensionAvailable(_extension) {
|
|
637
|
-
return true; // MongoDB doesn't use SQL extensions
|
|
638
|
-
}
|
|
639
|
-
/**
|
|
640
|
-
* Get the official documentation or installation URL for a database extension.
|
|
641
|
-
*
|
|
642
|
-
* @param _extension - Extension name
|
|
643
|
-
*/
|
|
644
|
-
getExtensionDocsUrl(_extension) {
|
|
645
|
-
return undefined; // MongoDB doesn't use SQL extensions
|
|
646
|
-
}
|
|
647
|
-
// ============================================================================
|
|
648
|
-
// RAW ACCESS
|
|
649
|
-
// ============================================================================
|
|
650
|
-
/**
|
|
651
|
-
* Execute raw operations with direct database access.
|
|
652
|
-
*
|
|
653
|
-
* @param callback - Callback receiving the MongoDB Db instance
|
|
654
|
-
* @returns Result from callback
|
|
655
|
-
*
|
|
656
|
-
* @example
|
|
657
|
-
* ```typescript
|
|
658
|
-
* await driver.raw(async (db) => {
|
|
659
|
-
* await db.collection("users").updateMany({}, { $set: { active: true } });
|
|
660
|
-
* });
|
|
661
|
-
* ```
|
|
662
|
-
*/
|
|
663
|
-
async raw(callback) {
|
|
664
|
-
return callback(this.db);
|
|
665
|
-
}
|
|
666
|
-
}exports.MongoMigrationDriver=MongoMigrationDriver;//# sourceMappingURL=mongodb-migration-driver.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mongodb-migration-driver.js","sources":["../../../src/drivers/mongodb/mongodb-migration-driver.ts"],"sourcesContent":[null],"names":["databaseTransactionContext"],"mappings":"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"}
|