ts-prorm-orm 1.1.0 → 1.2.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/CHANGELOG.md +95 -0
- package/README.md +194 -72
- package/dist/audit/history-query.d.ts +35 -0
- package/dist/audit/index.d.ts +16 -0
- package/dist/audit/logger.d.ts +126 -0
- package/dist/cache/cache-manager.d.ts +341 -0
- package/dist/cache/index.d.ts +8 -0
- package/dist/cache/redis-cluster-cache.d.ts +164 -0
- package/dist/cache/redis-cluster-cache.js +19 -36
- package/dist/cli/cloud.d.ts +55 -0
- package/dist/cli/cloud.js +318 -0
- package/dist/cli/commands/auth.d.ts +2 -0
- package/dist/cli/commands/auth.js +345 -0
- package/dist/cli/commands/billing.d.ts +2 -0
- package/dist/cli/commands/billing.js +135 -0
- package/dist/cli/commands/code.d.ts +2 -0
- package/dist/cli/commands/code.js +168 -0
- package/dist/cli/commands/config.d.ts +2 -0
- package/dist/cli/commands/config.js +154 -0
- package/dist/cli/commands/db.d.ts +2 -0
- package/dist/cli/commands/db.js +189 -0
- package/dist/cli/commands/index.d.ts +1 -0
- package/dist/cli/commands/index.js +22 -0
- package/dist/cli/commands/keys.d.ts +2 -0
- package/dist/cli/commands/keys.js +100 -0
- package/dist/cli/commands/misc.d.ts +2 -0
- package/dist/cli/commands/misc.js +282 -0
- package/dist/cli/commands/pull.d.ts +2 -0
- package/dist/cli/commands/pull.js +306 -0
- package/dist/cli/commands/runners.d.ts +2 -0
- package/dist/cli/commands/runners.js +218 -0
- package/dist/cli/commands/scaffold.d.ts +2 -0
- package/dist/cli/commands/scaffold.js +383 -0
- package/dist/cli/commands/secrets.d.ts +2 -0
- package/dist/cli/commands/secrets.js +162 -0
- package/dist/cli/commands/store.d.ts +2 -0
- package/dist/cli/commands/store.js +274 -0
- package/dist/cli/commands/system.d.ts +10 -0
- package/dist/cli/commands/system.js +169 -0
- package/dist/cli/commands/teams.d.ts +2 -0
- package/dist/cli/commands/teams.js +189 -0
- package/dist/cli/commands/user.d.ts +2 -0
- package/dist/cli/commands/user.js +171 -0
- package/dist/cli/framework.d.ts +103 -0
- package/dist/cli/framework.js +436 -0
- package/dist/cli/io.d.ts +26 -0
- package/dist/cli/io.js +181 -0
- package/dist/cli/keychain.d.ts +10 -0
- package/dist/cli/keychain.js +101 -0
- package/dist/cli/prompt.d.ts +20 -0
- package/dist/cli/prompt.js +111 -0
- package/dist/cli.d.ts +214 -0
- package/dist/cli.js +72 -5
- package/dist/compliance/audit-trail.d.ts +66 -0
- package/dist/compliance/backup-verification.d.ts +279 -0
- package/dist/compliance/breach-detector.d.ts +197 -0
- package/dist/compliance/consent-record.d.ts +107 -0
- package/dist/compliance/consent-versioning.d.ts +169 -0
- package/dist/compliance/cross-border-log.d.ts +254 -0
- package/dist/compliance/data-classifier.d.ts +127 -0
- package/dist/compliance/data-lineage.d.ts +268 -0
- package/dist/compliance/data-masker.d.ts +110 -0
- package/dist/compliance/data-portability.d.ts +98 -0
- package/dist/compliance/data-retention.d.ts +108 -0
- package/dist/compliance/dsar-workflow.d.ts +175 -0
- package/dist/compliance/field-encryption.d.ts +84 -0
- package/dist/compliance/immutable-record.d.ts +84 -0
- package/dist/compliance/index.d.ts +93 -0
- package/dist/compliance/privacy-impact-assessment.d.ts +196 -0
- package/dist/compliance/pseudonymization.d.ts +96 -0
- package/dist/compliance/query-firewall.d.ts +661 -0
- package/dist/compliance/rate-limiter.d.ts +203 -0
- package/dist/compliance/right-to-erasure.d.ts +96 -0
- package/dist/compliance/row-level-security.d.ts +152 -0
- package/dist/compliance/security-decorator.d.ts +388 -0
- package/dist/compliance/security-monitor.d.ts +170 -0
- package/dist/compliance/sensitive-data-discovery.d.ts +151 -0
- package/dist/compliance/session-isolation.d.ts +286 -0
- package/dist/compliance/tls-enforcer.d.ts +51 -0
- package/dist/compliance/worm-storage.d.ts +225 -0
- package/dist/connection-manager.d.ts +130 -0
- package/dist/connection-pool.d.ts +311 -0
- package/dist/decorators/audit.d.ts +49 -0
- package/dist/decorators/check.d.ts +218 -0
- package/dist/decorators/collate.d.ts +346 -0
- package/dist/decorators/comment.d.ts +51 -0
- package/dist/decorators/database-settings.d.ts +193 -0
- package/dist/decorators/default.d.ts +148 -0
- package/dist/decorators/encryption.d.ts +175 -0
- package/dist/decorators/engine.d.ts +97 -0
- package/dist/decorators/fk-constraints.d.ts +387 -0
- package/dist/decorators/foreign-table.d.ts +57 -0
- package/dist/decorators/generated.d.ts +232 -0
- package/dist/decorators/hstore.d.ts +96 -0
- package/dist/decorators/index.d.ts +57 -0
- package/dist/decorators/index.js +14 -30
- package/dist/decorators/json-column.d.ts +47 -0
- package/dist/decorators/jsonb.d.ts +83 -0
- package/dist/decorators/orm-decorators.d.ts +274 -0
- package/dist/decorators/permissions.d.ts +192 -0
- package/dist/decorators/procedure.d.ts +168 -0
- package/dist/decorators/procedure.js +31 -7
- package/dist/decorators/query-options.d.ts +527 -0
- package/dist/decorators/range.d.ts +122 -0
- package/dist/decorators/set-column.d.ts +43 -0
- package/dist/decorators/spatial.d.ts +60 -0
- package/dist/decorators/storage.d.ts +561 -0
- package/dist/decorators/timezone.d.ts +319 -0
- package/dist/decorators/trigger.d.ts +50 -0
- package/dist/decorators/uuid.d.ts +102 -0
- package/dist/decorators/view.d.ts +213 -0
- package/dist/diagrams/chen-diagram.d.ts +70 -0
- package/dist/diagrams/chen-diagram.js +33 -31
- package/dist/diagrams/class-diagram.d.ts +78 -0
- package/dist/diagrams/class-diagram.js +23 -27
- package/dist/diagrams/dependency-diagram.d.ts +82 -0
- package/dist/diagrams/dependency-diagram.js +18 -9
- package/dist/diagrams/er-diagram.d.ts +82 -0
- package/dist/diagrams/er-diagram.js +174 -231
- package/dist/diagrams/flow-diagram.d.ts +70 -0
- package/dist/diagrams/flow-diagram.js +23 -18
- package/dist/diagrams/gantt-diagram.d.ts +67 -0
- package/dist/diagrams/gantt-diagram.js +20 -18
- package/dist/diagrams/index-diagram.d.ts +61 -0
- package/dist/diagrams/index-diagram.js +36 -31
- package/dist/diagrams/index.d.ts +155 -0
- package/dist/diagrams/index.js +7 -1
- package/dist/diagrams/migration-diagram.d.ts +67 -0
- package/dist/diagrams/migration-diagram.js +45 -57
- package/dist/diagrams/model-diagram.d.ts +85 -0
- package/dist/diagrams/model-diagram.js +225 -287
- package/dist/diagrams/package-diagram.d.ts +69 -0
- package/dist/diagrams/package-diagram.js +30 -32
- package/dist/diagrams/palette.d.ts +138 -0
- package/dist/diagrams/palette.js +134 -25
- package/dist/diagrams/relational-diagram.d.ts +82 -0
- package/dist/diagrams/relational-diagram.js +51 -59
- package/dist/diagrams/schemadoc-diagram.d.ts +57 -0
- package/dist/diagrams/schemadoc-diagram.js +36 -28
- package/dist/diagrams/sequence-diagram.d.ts +61 -0
- package/dist/diagrams/sequence-diagram.js +20 -11
- package/dist/diagrams/state-diagram.d.ts +85 -0
- package/dist/diagrams/state-diagram.js +21 -17
- package/dist/diagrams/svg-dom.d.ts +62 -0
- package/dist/diagrams/svg-dom.js +11 -0
- package/dist/diagrams/tree-diagram.d.ts +47 -0
- package/dist/diagrams/tree-diagram.js +19 -10
- package/dist/dialects/clickhouse/index.d.ts +660 -0
- package/dist/dialects/clickhouse/index.js +107 -2
- package/dist/dialects/cockroachdb/index.d.ts +1708 -0
- package/dist/dialects/cockroachdb/index.js +139 -10
- package/dist/dialects/cratedb/index.d.ts +262 -0
- package/dist/dialects/cratedb/index.js +148 -0
- package/dist/dialects/databricks/index.d.ts +397 -0
- package/dist/dialects/databricks/index.js +233 -11
- package/dist/dialects/db2/index.d.ts +729 -0
- package/dist/dialects/db2/index.js +152 -2
- package/dist/dialects/dialect.d.ts +1653 -0
- package/dist/dialects/duckdb/index.d.ts +440 -0
- package/dist/dialects/duckdb/index.js +21 -37
- package/dist/dialects/exasol/index.d.ts +197 -0
- package/dist/dialects/exasol/index.js +14 -0
- package/dist/dialects/firebird/index.d.ts +286 -0
- package/dist/dialects/firebird/index.js +135 -0
- package/dist/dialects/greenplum/index.d.ts +336 -0
- package/dist/dialects/greenplum/index.js +168 -0
- package/dist/dialects/hana/index.d.ts +512 -0
- package/dist/dialects/hana/index.js +17 -35
- package/dist/dialects/mariadb/index.d.ts +1241 -0
- package/dist/dialects/mariadb/index.js +181 -43
- package/dist/dialects/mssql/index.d.ts +729 -0
- package/dist/dialects/mssql/index.js +76 -7
- package/dist/dialects/mysql/index.d.ts +1233 -0
- package/dist/dialects/mysql/index.js +87 -19
- package/dist/dialects/oracle/index.d.ts +1222 -0
- package/dist/dialects/oracle/index.js +210 -9
- package/dist/dialects/postgres/index.d.ts +1598 -0
- package/dist/dialects/postgres/index.js +34 -13
- package/dist/dialects/query-stream-helper.d.ts +58 -0
- package/dist/dialects/questdb/index.d.ts +430 -0
- package/dist/dialects/questdb/index.js +292 -0
- package/dist/dialects/redshift/index.d.ts +933 -0
- package/dist/dialects/redshift/index.js +17 -5
- package/dist/dialects/singlestore/index.d.ts +233 -0
- package/dist/dialects/singlestore/index.js +53 -0
- package/dist/dialects/snowflake/index.d.ts +727 -0
- package/dist/dialects/snowflake/index.js +154 -5
- package/dist/dialects/spanner/index.d.ts +660 -0
- package/dist/dialects/spanner/index.js +43 -21
- package/dist/dialects/sqlite/index.d.ts +1133 -0
- package/dist/dialects/sqlite/index.js +168 -30
- package/dist/dialects/tidb/index.d.ts +226 -0
- package/dist/dialects/tidb/index.js +10 -0
- package/dist/dialects/timescaledb/index.d.ts +286 -0
- package/dist/dialects/timescaledb/index.js +179 -0
- package/dist/dialects/trino/index.d.ts +230 -0
- package/dist/dialects/trino/index.js +85 -10
- package/dist/dialects/turso/index.d.ts +98 -0
- package/dist/dialects/turso/index.js +10 -0
- package/dist/dialects/vertica/index.d.ts +321 -0
- package/dist/dialects/vertica/index.js +161 -0
- package/dist/dialects/yugabytedb/index.d.ts +276 -0
- package/dist/dialects/yugabytedb/index.js +121 -0
- package/dist/errors/index.d.ts +378 -0
- package/dist/errors/index.js +29 -1
- package/dist/errors/utils.d.ts +53 -0
- package/dist/errors.d.ts +5 -0
- package/dist/extensions/catalog/cloud-warehouse-features.d.ts +27 -0
- package/dist/extensions/catalog/mssql-features.d.ts +20 -0
- package/dist/extensions/catalog/mysql-mariadb-plugins.d.ts +18 -0
- package/dist/extensions/catalog/oracle-db2-features.d.ts +17 -0
- package/dist/extensions/catalog/postgres-extensions.d.ts +15 -0
- package/dist/extensions/index.d.ts +34 -0
- package/dist/extensions/types.d.ts +43 -0
- package/dist/external-fields/adapters.d.ts +50 -0
- package/dist/external-fields/adapters.js +227 -0
- package/dist/external-fields/decorator.d.ts +77 -0
- package/dist/external-fields/decorator.js +80 -0
- package/dist/external-fields/index.d.ts +10 -0
- package/dist/external-fields/index.js +19 -0
- package/dist/external-fields/runtime.d.ts +39 -0
- package/dist/external-fields/runtime.js +221 -0
- package/dist/foreign-data.d.ts +168 -0
- package/dist/graph/base-graph-dialect.d.ts +250 -0
- package/dist/graph/base-graph-dialect.js +539 -0
- package/dist/graph/dgraph/index.d.ts +65 -0
- package/dist/graph/dgraph/index.js +559 -0
- package/dist/graph/gremlin/index.d.ts +59 -0
- package/dist/graph/gremlin/index.js +378 -0
- package/dist/graph/index.d.ts +60 -0
- package/dist/graph/index.js +67 -0
- package/dist/graph/neo4j/index.d.ts +50 -0
- package/dist/graph/neo4j/index.js +462 -0
- package/dist/graph/types.d.ts +213 -0
- package/dist/graph/types.js +234 -0
- package/dist/hooks/hooks-manager.d.ts +189 -0
- package/dist/hooks/index.d.ts +8 -0
- package/dist/index.d.ts +713 -0
- package/dist/index.js +36 -4
- package/dist/logging.d.ts +183 -0
- package/dist/migrations/index.d.ts +9 -0
- package/dist/migrations/migration.d.ts +143 -0
- package/dist/migrations/migrator.d.ts +199 -0
- package/dist/migrations/prormmigration.d.ts +131 -0
- package/dist/migrations/query-interface.d.ts +335 -0
- package/dist/migrations/seeder.d.ts +167 -0
- package/dist/models/associations.d.ts +131 -0
- package/dist/models/associations.js +7 -2
- package/dist/models/constraints.d.ts +175 -0
- package/dist/models/data-types.d.ts +1656 -0
- package/dist/models/decorators.d.ts +328 -0
- package/dist/models/decorators.js +61 -82
- package/dist/models/eager-load.d.ts +86 -0
- package/dist/models/eager-load.js +369 -0
- package/dist/models/index.d.ts +13 -0
- package/dist/models/indexes.d.ts +325 -0
- package/dist/models/methods.d.ts +419 -0
- package/dist/models/model-manager.d.ts +76 -0
- package/dist/models/model.d.ts +820 -0
- package/dist/models/model.js +15 -101
- package/dist/models/operators.d.ts +29 -0
- package/dist/models/scopes.d.ts +71 -0
- package/dist/models/typescript-types.d.ts +177 -0
- package/dist/nosql/aerospike/index.d.ts +126 -0
- package/dist/nosql/allegrograph/index.d.ts +86 -0
- package/dist/nosql/arangodb/index.d.ts +285 -0
- package/dist/nosql/arangodb/index.js +274 -2
- package/dist/nosql/arangodb/where.d.ts +38 -0
- package/dist/nosql/arangodb/where.js +94 -0
- package/dist/nosql/azure-blob/index.d.ts +104 -0
- package/dist/nosql/beanstalkd/index.d.ts +88 -0
- package/dist/nosql/beequeue/index.d.ts +99 -0
- package/dist/nosql/bigchaindb/index.d.ts +113 -0
- package/dist/nosql/bigtable/index.d.ts +144 -0
- package/dist/nosql/blazegraph/index.d.ts +88 -0
- package/dist/nosql/bullmq/index.d.ts +83 -0
- package/dist/nosql/cassandra/index.d.ts +119 -0
- package/dist/nosql/chroma/index.d.ts +151 -0
- package/dist/nosql/cloudflare-kv/index.d.ts +120 -0
- package/dist/nosql/coherence/index.d.ts +91 -0
- package/dist/nosql/cosmosdb/index.d.ts +78 -0
- package/dist/nosql/couchbase/index.d.ts +103 -0
- package/dist/nosql/dax/index.d.ts +118 -0
- package/dist/nosql/deno-kv/index.d.ts +109 -0
- package/dist/nosql/dgraph/index.d.ts +80 -0
- package/dist/nosql/doris/index.d.ts +88 -0
- package/dist/nosql/druid/index.d.ts +95 -0
- package/dist/nosql/dynamodb/index.d.ts +643 -0
- package/dist/nosql/dynamodb/index.js +423 -0
- package/dist/nosql/elasticsearch/index.d.ts +239 -0
- package/dist/nosql/etcd/index.d.ts +243 -0
- package/dist/nosql/eventhubs/index.d.ts +89 -0
- package/dist/nosql/eventstore/index.d.ts +102 -0
- package/dist/nosql/faunadb/index.d.ts +141 -0
- package/dist/nosql/faunadb/index.js +329 -0
- package/dist/nosql/firestore/index.d.ts +67 -0
- package/dist/nosql/fluree/index.d.ts +88 -0
- package/dist/nosql/fuseki/index.d.ts +94 -0
- package/dist/nosql/gcs/index.d.ts +62 -0
- package/dist/nosql/gearman/index.d.ts +77 -0
- package/dist/nosql/geode/index.d.ts +93 -0
- package/dist/nosql/graphdb/index.d.ts +86 -0
- package/dist/nosql/graylog/index.d.ts +118 -0
- package/dist/nosql/gridgain/index.d.ts +78 -0
- package/dist/nosql/hazelcast/index.d.ts +73 -0
- package/dist/nosql/hbase/index.d.ts +123 -0
- package/dist/nosql/ignite/index.d.ts +80 -0
- package/dist/nosql/immudb/index.d.ts +131 -0
- package/dist/nosql/index.d.ts +215 -0
- package/dist/nosql/infinispan/index.d.ts +95 -0
- package/dist/nosql/influxdb/flux-compiler.d.ts +23 -0
- package/dist/nosql/influxdb/flux-compiler.js +170 -0
- package/dist/nosql/influxdb/index.d.ts +300 -0
- package/dist/nosql/influxdb/index.js +0 -0
- package/dist/nosql/kafka/index.d.ts +113 -0
- package/dist/nosql/keyspaces/index.d.ts +122 -0
- package/dist/nosql/kinesis/index.d.ts +121 -0
- package/dist/nosql/leveldb/index.d.ts +112 -0
- package/dist/nosql/leveldb/index.js +103 -1
- package/dist/nosql/lmdb/index.d.ts +76 -0
- package/dist/nosql/loki/index.d.ts +126 -0
- package/dist/nosql/marklogic/index.d.ts +76 -0
- package/dist/nosql/materialize/index.d.ts +91 -0
- package/dist/nosql/meilisearch/index.d.ts +76 -0
- package/dist/nosql/memcached/index.d.ts +138 -0
- package/dist/nosql/milvus/index.d.ts +167 -0
- package/dist/nosql/minio/index.d.ts +122 -0
- package/dist/nosql/momento/index.d.ts +99 -0
- package/dist/nosql/mongodb/index.d.ts +265 -0
- package/dist/nosql/mongodb/index.js +139 -0
- package/dist/nosql/mongodb/where.d.ts +8 -0
- package/dist/nosql/mongodb/where.js +181 -0
- package/dist/nosql/nats/index.d.ts +139 -0
- package/dist/nosql/nedb/index.d.ts +79 -0
- package/dist/nosql/neo4j/index.d.ts +217 -0
- package/dist/nosql/neo4j/index.js +26 -14
- package/dist/nosql/neptune/index.d.ts +234 -0
- package/dist/nosql/neptune/index.js +23 -9
- package/dist/nosql/nsq/index.d.ts +93 -0
- package/dist/nosql/opensearch/index.d.ts +97 -0
- package/dist/nosql/orientdb/index.d.ts +72 -0
- package/dist/nosql/papertrail/index.d.ts +120 -0
- package/dist/nosql/pinecone/index.d.ts +148 -0
- package/dist/nosql/pinot/index.d.ts +90 -0
- package/dist/nosql/pouchdb/index.d.ts +95 -0
- package/dist/nosql/prometheus/index.d.ts +112 -0
- package/dist/nosql/provendb/index.d.ts +143 -0
- package/dist/nosql/provendb/index.js +262 -0
- package/dist/nosql/pubsub/index.d.ts +83 -0
- package/dist/nosql/pulsar/index.d.ts +105 -0
- package/dist/nosql/qdrant/index.d.ts +231 -0
- package/dist/nosql/qldb/index.d.ts +182 -0
- package/dist/nosql/qldb/index.js +302 -1
- package/dist/nosql/r2/index.d.ts +160 -0
- package/dist/nosql/rabbitmq/index.d.ts +131 -0
- package/dist/nosql/ravendb/index.d.ts +138 -0
- package/dist/nosql/ravendb/index.js +323 -9
- package/dist/nosql/ravendb/where.d.ts +38 -0
- package/dist/nosql/ravendb/where.js +94 -0
- package/dist/nosql/redis/index.d.ts +267 -0
- package/dist/nosql/redis/index.js +19 -5
- package/dist/nosql/redpanda/index.d.ts +117 -0
- package/dist/nosql/resque/index.d.ts +91 -0
- package/dist/nosql/rethinkdb/index.d.ts +194 -0
- package/dist/nosql/rethinkdb/index.js +290 -0
- package/dist/nosql/rethinkdb/where.d.ts +38 -0
- package/dist/nosql/rethinkdb/where.js +94 -0
- package/dist/nosql/rocksdb/document-layer.d.ts +162 -0
- package/dist/nosql/rocksdb/document-layer.js +338 -0
- package/dist/nosql/rocksdb/index.d.ts +112 -0
- package/dist/nosql/rocksdb/index.js +103 -1
- package/dist/nosql/rocksdb/where-match.d.ts +21 -0
- package/dist/nosql/rocksdb/where-match.js +238 -0
- package/dist/nosql/rockset/index.d.ts +84 -0
- package/dist/nosql/s3/index.d.ts +170 -0
- package/dist/nosql/scylladb/index.d.ts +117 -0
- package/dist/nosql/signoz/index.d.ts +116 -0
- package/dist/nosql/sns/index.d.ts +99 -0
- package/dist/nosql/solr/index.d.ts +129 -0
- package/dist/nosql/splunk/index.d.ts +125 -0
- package/dist/nosql/sqs/index.d.ts +116 -0
- package/dist/nosql/stardog/index.d.ts +86 -0
- package/dist/nosql/starrocks/index.d.ts +89 -0
- package/dist/nosql/store.d.ts +23 -0
- package/dist/nosql/sumologic/index.d.ts +119 -0
- package/dist/nosql/surrealdb/index.d.ts +156 -0
- package/dist/nosql/surrealdb/index.js +174 -1
- package/dist/nosql/surrealdb/query-compiler.d.ts +26 -0
- package/dist/nosql/surrealdb/query-compiler.js +193 -0
- package/dist/nosql/terminusdb/index.d.ts +95 -0
- package/dist/nosql/tigergraph/index.d.ts +314 -0
- package/dist/nosql/typesense/index.d.ts +82 -0
- package/dist/nosql/unqlite/index.d.ts +68 -0
- package/dist/nosql/upstash/index.d.ts +80 -0
- package/dist/nosql/vercel-kv/index.d.ts +82 -0
- package/dist/nosql/victoriametrics/index.d.ts +129 -0
- package/dist/nosql/virtuoso/index.d.ts +87 -0
- package/dist/nosql/weaviate/index.d.ts +196 -0
- package/dist/operators/index.d.ts +7 -0
- package/dist/operators.d.ts +2947 -0
- package/dist/operators.js +46 -1
- package/dist/prisma-migrate/index.d.ts +28 -0
- package/dist/prisma-migrate/migration-generator.d.ts +21 -0
- package/dist/prisma-migrate/model-generator.d.ts +12 -0
- package/dist/prisma-migrate/relations.d.ts +28 -0
- package/dist/prisma-migrate/schema-parser.d.ts +42 -0
- package/dist/prisma-migrate/type-mapper.d.ts +20 -0
- package/dist/prorm.d.ts +2093 -0
- package/dist/prorm.js +721 -302
- package/dist/query-builders/cte-builder.d.ts +104 -0
- package/dist/query-builders/functions/aggregate.d.ts +199 -0
- package/dist/query-builders/functions/conditional.d.ts +195 -0
- package/dist/query-builders/functions/datetime.d.ts +202 -0
- package/dist/query-builders/functions/fulltext.d.ts +220 -0
- package/dist/query-builders/functions/index.d.ts +17 -0
- package/dist/query-builders/functions/json.d.ts +157 -0
- package/dist/query-builders/functions/math.d.ts +215 -0
- package/dist/query-builders/functions/string.d.ts +233 -0
- package/dist/query-builders/functions/window.d.ts +209 -0
- package/dist/query-builders/include-builder.d.ts +85 -0
- package/dist/query-builders/index-expression-builder.d.ts +153 -0
- package/dist/query-builders/index.d.ts +121 -0
- package/dist/query-builders/index.js +10 -0
- package/dist/query-builders/insert-builder.d.ts +62 -0
- package/dist/query-builders/model-helpers.d.ts +28 -0
- package/dist/query-builders/order-limit-builder.d.ts +84 -0
- package/dist/query-builders/sql-compiler.d.ts +562 -0
- package/dist/query-builders/subquery-builder.d.ts +133 -0
- package/dist/query-builders/update-builder.d.ts +71 -0
- package/dist/query-builders/view-builder.d.ts +189 -0
- package/dist/query-builders/where-builder.d.ts +124 -0
- package/dist/query-interface.d.ts +407 -0
- package/dist/query-interface.js +84 -0
- package/dist/query-optimizers/batch-optimizer.d.ts +175 -0
- package/dist/query-optimizers/explain-plans.d.ts +187 -0
- package/dist/query-optimizers/index.d.ts +27 -0
- package/dist/query-optimizers/prepared-statement-cache.d.ts +252 -0
- package/dist/query-optimizers/query-hints.d.ts +201 -0
- package/dist/query-optimizers/query-optimizer.d.ts +162 -0
- package/dist/query-optimizers/slow-query-logger.d.ts +186 -0
- package/dist/replica-manager.d.ts +235 -0
- package/dist/schema/index.d.ts +7 -0
- package/dist/schema/migration-generator.d.ts +74 -0
- package/dist/schema/schema-differ.d.ts +114 -0
- package/dist/schema/types.d.ts +246 -0
- package/dist/schema-objects.d.ts +78 -0
- package/dist/schema-objects.js +203 -0
- package/dist/sql-constants.d.ts +240 -0
- package/dist/sqlite-advanced.d.ts +572 -0
- package/dist/streams/index.d.ts +5 -0
- package/dist/streams/transforms.d.ts +120 -0
- package/dist/transaction.d.ts +221 -0
- package/dist/types/index.d.ts +3123 -0
- package/dist/user-management.d.ts +141 -0
- package/dist/utils/date.d.ts +149 -0
- package/dist/utils/index.d.ts +359 -0
- package/dist/utils/string.d.ts +88 -0
- package/dist/validators/index.d.ts +7 -0
- package/dist/validators/validator.d.ts +306 -0
- package/package.json +20 -5
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PrormMigration class - Integration layer between migrations and Prorm
|
|
3
|
+
* Handles running migrations with the Prorm instance
|
|
4
|
+
*/
|
|
5
|
+
import { Migration, MigrationMeta } from './migration';
|
|
6
|
+
import { QueryInterface } from './query-interface';
|
|
7
|
+
import { Prorm } from '../prorm';
|
|
8
|
+
/**
|
|
9
|
+
* PrormMigration options
|
|
10
|
+
*/
|
|
11
|
+
export interface PrormMigrationOptions {
|
|
12
|
+
/**
|
|
13
|
+
* Prorm instance to use
|
|
14
|
+
*/
|
|
15
|
+
prorm: Prorm;
|
|
16
|
+
/**
|
|
17
|
+
* Table name for storing migration history
|
|
18
|
+
*/
|
|
19
|
+
tableName?: string;
|
|
20
|
+
/**
|
|
21
|
+
* Schema for the migrations table
|
|
22
|
+
*/
|
|
23
|
+
schema?: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* PrormMigration - Integrates with Prorm to manage migrations
|
|
27
|
+
*/
|
|
28
|
+
export declare class PrormMigration {
|
|
29
|
+
private prorm;
|
|
30
|
+
private queryInterface;
|
|
31
|
+
private tableName;
|
|
32
|
+
private schema?;
|
|
33
|
+
private migrationMeta;
|
|
34
|
+
/**
|
|
35
|
+
* Create a new PrormMigration instance
|
|
36
|
+
* @param options - Configuration options
|
|
37
|
+
*/
|
|
38
|
+
constructor(options: PrormMigrationOptions);
|
|
39
|
+
/**
|
|
40
|
+
* Create a QueryInterface from the Prorm instance
|
|
41
|
+
*/
|
|
42
|
+
private createQueryInterface;
|
|
43
|
+
/**
|
|
44
|
+
* Get the QueryInterface
|
|
45
|
+
*/
|
|
46
|
+
getQueryInterface(): QueryInterface;
|
|
47
|
+
/**
|
|
48
|
+
* Get the Prorm instance
|
|
49
|
+
*/
|
|
50
|
+
getProrm(): Prorm;
|
|
51
|
+
/**
|
|
52
|
+
* Get the migrations table name
|
|
53
|
+
*/
|
|
54
|
+
getTableName(): string;
|
|
55
|
+
/**
|
|
56
|
+
* Ensure the migrations table exists
|
|
57
|
+
*/
|
|
58
|
+
ensureMigrationsTable(): Promise<void>;
|
|
59
|
+
/**
|
|
60
|
+
* Load migration metadata from the database
|
|
61
|
+
*/
|
|
62
|
+
loadMigrationMeta(): Promise<void>;
|
|
63
|
+
/**
|
|
64
|
+
* Record a migration as executed in the database
|
|
65
|
+
* @param migration - The migration to record
|
|
66
|
+
* @param batch - The batch number
|
|
67
|
+
*/
|
|
68
|
+
recordMigration(migration: Migration, batch: number): Promise<void>;
|
|
69
|
+
/**
|
|
70
|
+
* Remove a migration record from the database
|
|
71
|
+
* @param migrationName - Name of the migration to remove
|
|
72
|
+
*/
|
|
73
|
+
removeMigration(migrationName: string): Promise<void>;
|
|
74
|
+
/**
|
|
75
|
+
* Get all executed migrations
|
|
76
|
+
*/
|
|
77
|
+
getExecutedMigrations(): Promise<MigrationMeta[]>;
|
|
78
|
+
/**
|
|
79
|
+
* Check if a migration has been executed
|
|
80
|
+
* @param migrationName - Name of the migration
|
|
81
|
+
*/
|
|
82
|
+
isMigrationExecuted(migrationName: string): Promise<boolean>;
|
|
83
|
+
/**
|
|
84
|
+
* Compute the next batch number from the currently loaded migration meta.
|
|
85
|
+
* Callers are expected to have called `loadMigrationMeta()` beforehand.
|
|
86
|
+
*/
|
|
87
|
+
private computeNextBatch;
|
|
88
|
+
/**
|
|
89
|
+
* Run a migration
|
|
90
|
+
* @param migration - The migration to run
|
|
91
|
+
* @param batch - Optional batch number to record this migration under. When
|
|
92
|
+
* omitted, a fresh batch number is computed for this single migration.
|
|
93
|
+
* `runMigrations()` passes an explicit shared batch so that all migrations
|
|
94
|
+
* applied in one run land in the same batch.
|
|
95
|
+
*/
|
|
96
|
+
runMigration(migration: Migration, batch?: number): Promise<void>;
|
|
97
|
+
/**
|
|
98
|
+
* Revert a migration
|
|
99
|
+
* @param migration - The migration to revert
|
|
100
|
+
*/
|
|
101
|
+
revertMigration(migration: Migration): Promise<void>;
|
|
102
|
+
/**
|
|
103
|
+
* Execute all pending migrations
|
|
104
|
+
* @param migrations - Array of migrations to run
|
|
105
|
+
*/
|
|
106
|
+
runMigrations(migrations: Migration[]): Promise<void>;
|
|
107
|
+
/**
|
|
108
|
+
* Revert migrations to a specific batch
|
|
109
|
+
*
|
|
110
|
+
* For each executed migration with a batch number greater than
|
|
111
|
+
* `targetBatch`, this loads its `down()` function (via the supplied
|
|
112
|
+
* `migrations` lookup) and actually executes it before removing its
|
|
113
|
+
* tracking row. If `down()` throws, the error is logged and re-thrown, and
|
|
114
|
+
* the tracking row for that migration (and any migrations after it) is
|
|
115
|
+
* left in place so the revert can be retried.
|
|
116
|
+
*
|
|
117
|
+
* @param targetBatch - Target batch number to revert down to
|
|
118
|
+
* @param migrations - The loaded Migration definitions (with `down()`
|
|
119
|
+
* functions attached), keyed by migration name. Typically
|
|
120
|
+
* `Migrator.getMigrations()` / the Migrator's internal migrations map.
|
|
121
|
+
*/
|
|
122
|
+
revertToBatch(targetBatch: number, migrations: Map<string, Migration> | Migration[]): Promise<void>;
|
|
123
|
+
/**
|
|
124
|
+
* Get the current database version
|
|
125
|
+
*/
|
|
126
|
+
getDatabaseVersion(): Promise<string>;
|
|
127
|
+
/**
|
|
128
|
+
* Sync the migrations table
|
|
129
|
+
*/
|
|
130
|
+
syncMigrationsTable(): Promise<void>;
|
|
131
|
+
}
|
|
@@ -0,0 +1,335 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* QueryInterface for migrations
|
|
3
|
+
* Provides methods for schema modifications during migrations
|
|
4
|
+
*/
|
|
5
|
+
import { Dialect, ColumnDefinition, TableOptions, IndexOptions } from '../dialects/dialect';
|
|
6
|
+
import { Transaction, WhereOptions } from '../types';
|
|
7
|
+
/**
|
|
8
|
+
* Table descriptor for querying table info
|
|
9
|
+
*/
|
|
10
|
+
export interface TableDescriptor {
|
|
11
|
+
tableName: string;
|
|
12
|
+
schema?: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Column description from describeTable
|
|
16
|
+
*/
|
|
17
|
+
export interface ColumnDescription {
|
|
18
|
+
type: string;
|
|
19
|
+
allowNull: boolean;
|
|
20
|
+
defaultValue: any;
|
|
21
|
+
primaryKey: boolean;
|
|
22
|
+
autoIncrement: boolean;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Index description
|
|
26
|
+
*/
|
|
27
|
+
export interface IndexDescription {
|
|
28
|
+
name: string;
|
|
29
|
+
unique: boolean;
|
|
30
|
+
fields: Array<{
|
|
31
|
+
attribute: string;
|
|
32
|
+
order: string;
|
|
33
|
+
}>;
|
|
34
|
+
type?: string;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Foreign key description
|
|
38
|
+
*/
|
|
39
|
+
export interface ForeignKeyDescription {
|
|
40
|
+
name: string;
|
|
41
|
+
field: string;
|
|
42
|
+
references: {
|
|
43
|
+
table: string;
|
|
44
|
+
field: string;
|
|
45
|
+
};
|
|
46
|
+
onDelete?: string;
|
|
47
|
+
onUpdate?: string;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Constraint description
|
|
51
|
+
*/
|
|
52
|
+
export interface ConstraintDescription {
|
|
53
|
+
name: string;
|
|
54
|
+
type: 'PRIMARY KEY' | 'UNIQUE' | 'FOREIGN KEY' | 'CHECK' | 'DEFAULT';
|
|
55
|
+
fields?: string[];
|
|
56
|
+
reference?: {
|
|
57
|
+
table: string;
|
|
58
|
+
fields: string[];
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* QueryInterface class for migrations
|
|
63
|
+
* Provides a unified API for schema modifications across dialects
|
|
64
|
+
*/
|
|
65
|
+
export declare class QueryInterface {
|
|
66
|
+
private dialect;
|
|
67
|
+
private transaction;
|
|
68
|
+
/**
|
|
69
|
+
* Create a new QueryInterface instance
|
|
70
|
+
* @param dialect - The database dialect to use
|
|
71
|
+
*/
|
|
72
|
+
constructor(dialect: Dialect);
|
|
73
|
+
/**
|
|
74
|
+
* Set the current transaction
|
|
75
|
+
*/
|
|
76
|
+
setTransaction(transaction: Transaction | null): void;
|
|
77
|
+
/**
|
|
78
|
+
* Get the current transaction
|
|
79
|
+
*/
|
|
80
|
+
getTransaction(): Transaction | null;
|
|
81
|
+
/**
|
|
82
|
+
* Get the underlying dialect
|
|
83
|
+
*/
|
|
84
|
+
getDialect(): Dialect;
|
|
85
|
+
/**
|
|
86
|
+
* Create a new table
|
|
87
|
+
* @param tableName - Name of the table to create
|
|
88
|
+
* @param columns - Column definitions
|
|
89
|
+
* @param options - Table options
|
|
90
|
+
*/
|
|
91
|
+
createTable(tableName: string, columns: Record<string, ColumnDefinition>, options?: TableOptions): Promise<void>;
|
|
92
|
+
/**
|
|
93
|
+
* Drop a table
|
|
94
|
+
* @param tableName - Name of the table to drop
|
|
95
|
+
* @param options - Drop options
|
|
96
|
+
*/
|
|
97
|
+
dropTable(tableName: string, options?: {
|
|
98
|
+
cascade?: boolean;
|
|
99
|
+
ifExists?: boolean;
|
|
100
|
+
}): Promise<void>;
|
|
101
|
+
/**
|
|
102
|
+
* Drop all tables (dialect-specific)
|
|
103
|
+
*/
|
|
104
|
+
dropAllTables(_options?: {
|
|
105
|
+
skip?: string[];
|
|
106
|
+
}): Promise<void>;
|
|
107
|
+
/**
|
|
108
|
+
* Rename a table
|
|
109
|
+
* @param oldName - Current table name
|
|
110
|
+
* @param newName - New table name
|
|
111
|
+
*/
|
|
112
|
+
renameTable(oldName: string, newName: string): Promise<void>;
|
|
113
|
+
/**
|
|
114
|
+
* Show all tables in the database
|
|
115
|
+
*/
|
|
116
|
+
showTables(): Promise<string[]>;
|
|
117
|
+
/**
|
|
118
|
+
* Describe a table (get column information)
|
|
119
|
+
* @param tableName - Name of the table to describe
|
|
120
|
+
*/
|
|
121
|
+
describeTable(tableName: string): Promise<Record<string, ColumnDescription>>;
|
|
122
|
+
/**
|
|
123
|
+
* Add a column to a table
|
|
124
|
+
* @param tableName - Name of the table
|
|
125
|
+
* @param columnName - Name of the new column
|
|
126
|
+
* @param definition - Column definition
|
|
127
|
+
*/
|
|
128
|
+
addColumn(tableName: string, columnName: string, definition: ColumnDefinition): Promise<void>;
|
|
129
|
+
/**
|
|
130
|
+
* Remove a column from a table
|
|
131
|
+
* @param tableName - Name of the table
|
|
132
|
+
* @param columnName - Name of the column to remove
|
|
133
|
+
*/
|
|
134
|
+
removeColumn(tableName: string, columnName: string): Promise<void>;
|
|
135
|
+
/**
|
|
136
|
+
* Change a column definition
|
|
137
|
+
* @param tableName - Name of the table
|
|
138
|
+
* @param columnName - Name of the column to change
|
|
139
|
+
* @param definition - New column definition
|
|
140
|
+
*/
|
|
141
|
+
changeColumn(tableName: string, columnName: string, definition: ColumnDefinition): Promise<void>;
|
|
142
|
+
/**
|
|
143
|
+
* Rename a column
|
|
144
|
+
* @param tableName - Name of the table
|
|
145
|
+
* @param oldColumnName - Current column name
|
|
146
|
+
* @param newColumnName - New column name
|
|
147
|
+
*/
|
|
148
|
+
renameColumn(tableName: string, oldColumnName: string, newColumnName: string): Promise<void>;
|
|
149
|
+
/**
|
|
150
|
+
* Add an index to a table
|
|
151
|
+
* @param tableName - Name of the table
|
|
152
|
+
* @param indexName - Name of the index
|
|
153
|
+
* @param fields - Fields to index
|
|
154
|
+
* @param options - Index options
|
|
155
|
+
*/
|
|
156
|
+
addIndex(tableName: string, indexName: string, fields: string[], options?: IndexOptions): Promise<void>;
|
|
157
|
+
/**
|
|
158
|
+
* Remove an index from a table
|
|
159
|
+
* @param tableName - Name of the table
|
|
160
|
+
* @param indexName - Name of the index
|
|
161
|
+
*/
|
|
162
|
+
removeIndex(tableName: string, indexName: string): Promise<void>;
|
|
163
|
+
/**
|
|
164
|
+
* Show indexes for a table
|
|
165
|
+
* @param tableName - Name of the table
|
|
166
|
+
*/
|
|
167
|
+
showIndexes(tableName: string): Promise<IndexDescription[]>;
|
|
168
|
+
/**
|
|
169
|
+
* Add a constraint to a table
|
|
170
|
+
* @param tableName - Name of the table
|
|
171
|
+
* @param constraintName - Name of the constraint
|
|
172
|
+
* @param constraintDefinition - Constraint definition
|
|
173
|
+
*/
|
|
174
|
+
addConstraint(tableName: string, constraintName: string, constraintDefinition: {
|
|
175
|
+
type: 'unique' | 'primaryKey' | 'foreignKey' | 'check';
|
|
176
|
+
fields?: string[];
|
|
177
|
+
references?: {
|
|
178
|
+
table: string;
|
|
179
|
+
fields: string[];
|
|
180
|
+
};
|
|
181
|
+
onDelete?: string;
|
|
182
|
+
onUpdate?: string;
|
|
183
|
+
}): Promise<void>;
|
|
184
|
+
/**
|
|
185
|
+
* Remove a constraint from a table
|
|
186
|
+
* @param tableName - Name of the table
|
|
187
|
+
* @param constraintName - Name of the constraint
|
|
188
|
+
* @param constraintType - Type of constraint
|
|
189
|
+
*/
|
|
190
|
+
removeConstraint(tableName: string, constraintName: string, constraintType: 'unique' | 'primaryKey' | 'foreignKey' | 'check'): Promise<void>;
|
|
191
|
+
/**
|
|
192
|
+
* Bulk insert records into a table
|
|
193
|
+
* @param tableName - Name of the table
|
|
194
|
+
* @param records - Array of records to insert
|
|
195
|
+
*/
|
|
196
|
+
bulkInsert(tableName: string, records: Record<string, any>[]): Promise<number>;
|
|
197
|
+
/**
|
|
198
|
+
* Bulk update records in a table
|
|
199
|
+
* @param tableName - Name of the table
|
|
200
|
+
* @param values - Values to update
|
|
201
|
+
* @param where - Where conditions
|
|
202
|
+
*/
|
|
203
|
+
bulkUpdate(tableName: string, values: Record<string, any>, where: WhereOptions): Promise<number>;
|
|
204
|
+
/**
|
|
205
|
+
* Bulk delete records from a table
|
|
206
|
+
* @param tableName - Name of the table
|
|
207
|
+
* @param where - Where conditions
|
|
208
|
+
*/
|
|
209
|
+
bulkDelete(tableName: string, where: WhereOptions): Promise<number>;
|
|
210
|
+
/**
|
|
211
|
+
* Check if a table exists
|
|
212
|
+
* @param tableName - Name of the table
|
|
213
|
+
*/
|
|
214
|
+
tableExists(tableName: string): Promise<boolean>;
|
|
215
|
+
/**
|
|
216
|
+
* Check if a column exists
|
|
217
|
+
* @param tableName - Name of the table
|
|
218
|
+
* @param columnName - Name of the column
|
|
219
|
+
*/
|
|
220
|
+
columnExists(tableName: string, columnName: string): Promise<boolean>;
|
|
221
|
+
/**
|
|
222
|
+
* Check if an index exists
|
|
223
|
+
* @param tableName - Name of the table
|
|
224
|
+
* @param indexName - Name of the index
|
|
225
|
+
*/
|
|
226
|
+
indexExists(tableName: string, indexName: string): Promise<boolean>;
|
|
227
|
+
/**
|
|
228
|
+
* Get all foreign keys for a table
|
|
229
|
+
* @param tableName - Name of the table
|
|
230
|
+
*/
|
|
231
|
+
getForeignKeysForTable(tableName: string): Promise<ForeignKeyDescription[]>;
|
|
232
|
+
/**
|
|
233
|
+
* Remove foreign key
|
|
234
|
+
* @param tableName - Name of the table
|
|
235
|
+
* @param foreignKeyName - Name of the foreign key
|
|
236
|
+
*/
|
|
237
|
+
removeForeignKey(tableName: string, foreignKeyName: string): Promise<void>;
|
|
238
|
+
/**
|
|
239
|
+
* Add foreign key
|
|
240
|
+
* @param tableName - Name of the table
|
|
241
|
+
* @param columnName - Name of the column
|
|
242
|
+
* @param references - Reference definition
|
|
243
|
+
*/
|
|
244
|
+
addForeignKey(tableName: string, columnName: string, references: {
|
|
245
|
+
table: string;
|
|
246
|
+
field: string;
|
|
247
|
+
}, onDelete?: string, onUpdate?: string): Promise<void>;
|
|
248
|
+
/**
|
|
249
|
+
* Create a partitioned table (PostgreSQL 10+)
|
|
250
|
+
* @param tableName - Name of the table to create
|
|
251
|
+
* @param columns - Column definitions
|
|
252
|
+
* @param options - Table options including partition configuration
|
|
253
|
+
*/
|
|
254
|
+
createPartitionedTable(tableName: string, columns: Record<string, ColumnDefinition>, options?: TableOptions & {
|
|
255
|
+
partitionBy: {
|
|
256
|
+
type: 'range' | 'list' | 'hash';
|
|
257
|
+
column: string | string[];
|
|
258
|
+
};
|
|
259
|
+
partitions?: {
|
|
260
|
+
name: string;
|
|
261
|
+
bound?: {
|
|
262
|
+
from: string | number | Date;
|
|
263
|
+
to?: string | number | Date;
|
|
264
|
+
values?: (string | number)[];
|
|
265
|
+
modulus?: number;
|
|
266
|
+
remainder?: number;
|
|
267
|
+
};
|
|
268
|
+
tablespace?: string;
|
|
269
|
+
storageParameters?: Record<string, string | number>;
|
|
270
|
+
}[];
|
|
271
|
+
}): Promise<void>;
|
|
272
|
+
/**
|
|
273
|
+
* Create a partition for an existing partitioned table (PostgreSQL 10+)
|
|
274
|
+
* @param options - Partition creation options
|
|
275
|
+
*/
|
|
276
|
+
createPartition(options: {
|
|
277
|
+
parentTable: string;
|
|
278
|
+
name: string;
|
|
279
|
+
bound?: {
|
|
280
|
+
from: string | number | Date;
|
|
281
|
+
to?: string | number | Date;
|
|
282
|
+
values?: (string | number)[];
|
|
283
|
+
modulus?: number;
|
|
284
|
+
remainder?: number;
|
|
285
|
+
};
|
|
286
|
+
tablespace?: string;
|
|
287
|
+
storageParameters?: Record<string, string | number>;
|
|
288
|
+
}): Promise<void>;
|
|
289
|
+
/**
|
|
290
|
+
* Attach a partition to a partitioned table (PostgreSQL 11+)
|
|
291
|
+
* @param options - Partition attachment options
|
|
292
|
+
*/
|
|
293
|
+
attachPartition(options: {
|
|
294
|
+
parentTable: string;
|
|
295
|
+
partitionName: string;
|
|
296
|
+
}): Promise<void>;
|
|
297
|
+
/**
|
|
298
|
+
* Detach a partition from a partitioned table (PostgreSQL 11+)
|
|
299
|
+
* @param options - Partition detachment options
|
|
300
|
+
*/
|
|
301
|
+
detachPartition(options: {
|
|
302
|
+
partitionName: string;
|
|
303
|
+
validate?: boolean;
|
|
304
|
+
}): Promise<void>;
|
|
305
|
+
/**
|
|
306
|
+
* Drop a partition (PostgreSQL 10+)
|
|
307
|
+
* @param partitionName - Name of the partition to drop
|
|
308
|
+
* @param options - Drop options
|
|
309
|
+
*/
|
|
310
|
+
dropPartition(partitionName: string, options?: {
|
|
311
|
+
ifExists?: boolean;
|
|
312
|
+
cascade?: boolean;
|
|
313
|
+
}): Promise<void>;
|
|
314
|
+
/**
|
|
315
|
+
* Execute a raw SQL query
|
|
316
|
+
* @param sql - SQL query
|
|
317
|
+
* @param options - Query options
|
|
318
|
+
*/
|
|
319
|
+
prormQuery(sql: string, options?: {
|
|
320
|
+
raw?: boolean;
|
|
321
|
+
replacements?: Record<string, any>;
|
|
322
|
+
}): Promise<any>;
|
|
323
|
+
/**
|
|
324
|
+
* Get the database version
|
|
325
|
+
*/
|
|
326
|
+
getDatabaseVersion(): Promise<string>;
|
|
327
|
+
/**
|
|
328
|
+
* Build a WHERE clause from WhereOptions
|
|
329
|
+
*/
|
|
330
|
+
private buildWhereClause;
|
|
331
|
+
}
|
|
332
|
+
/**
|
|
333
|
+
* Create a QueryInterface from a dialect
|
|
334
|
+
*/
|
|
335
|
+
export declare function createQueryInterface(dialect: Dialect): QueryInterface;
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Seeder System - Manages database seed data
|
|
3
|
+
* Provides a way to populate a database with initial or test data
|
|
4
|
+
*/
|
|
5
|
+
import { EventEmitter } from 'events';
|
|
6
|
+
/**
|
|
7
|
+
* Definition of a seeder - up populates data, down removes it
|
|
8
|
+
*/
|
|
9
|
+
export interface SeederDefinition {
|
|
10
|
+
up(queryInterface: any, prorm: any): Promise<void>;
|
|
11
|
+
down(queryInterface: any, prorm: any): Promise<void>;
|
|
12
|
+
/**
|
|
13
|
+
* Optional environment scoping. When set, the seeder is only eligible to
|
|
14
|
+
* run when the environment passed to runSeeders() (or NODE_ENV) matches
|
|
15
|
+
* one of these values. Seeders without this field always run, regardless
|
|
16
|
+
* of environment - this keeps plain reference-data seeders "production
|
|
17
|
+
* safe" by default while letting dev-only fixtures opt in to scoping.
|
|
18
|
+
*/
|
|
19
|
+
env?: string | string[];
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Options accepted by SeederRunner#runSeeders
|
|
23
|
+
*/
|
|
24
|
+
export interface RunSeedersOptions {
|
|
25
|
+
/**
|
|
26
|
+
* When set, only the seeder with this name (basename without extension)
|
|
27
|
+
* is considered, instead of every pending seeder. Still respects the
|
|
28
|
+
* "already executed" idempotency check unless `force` is set.
|
|
29
|
+
*/
|
|
30
|
+
only?: string;
|
|
31
|
+
/**
|
|
32
|
+
* When set, seeders whose `env` field is defined and does not include
|
|
33
|
+
* this value are skipped (left pending, not recorded as executed).
|
|
34
|
+
* Seeders with no `env` field always run.
|
|
35
|
+
*/
|
|
36
|
+
env?: string;
|
|
37
|
+
/**
|
|
38
|
+
* Re-run a seeder even if it's already recorded as executed. Only takes
|
|
39
|
+
* effect together with `only`, to avoid accidentally re-seeding
|
|
40
|
+
* everything.
|
|
41
|
+
*/
|
|
42
|
+
force?: boolean;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Options for the SeederRunner
|
|
46
|
+
*/
|
|
47
|
+
export interface SeederOptions {
|
|
48
|
+
/**
|
|
49
|
+
* Path to seeder files directory
|
|
50
|
+
*/
|
|
51
|
+
seedersPath?: string;
|
|
52
|
+
/**
|
|
53
|
+
* Table name to track executed seeders (default: 'PrormData')
|
|
54
|
+
*/
|
|
55
|
+
seedsTableName?: string;
|
|
56
|
+
/**
|
|
57
|
+
* File pattern to match seeder files
|
|
58
|
+
*/
|
|
59
|
+
pattern?: RegExp;
|
|
60
|
+
/**
|
|
61
|
+
* The current environment used to scope env-specific seeders. When not
|
|
62
|
+
* provided, it falls back to `process.env.NODE_ENV`. A seeder that declares
|
|
63
|
+
* an `env` only runs when it equals this value; if neither is resolvable,
|
|
64
|
+
* env-scoped seeders are skipped entirely.
|
|
65
|
+
*/
|
|
66
|
+
env?: string;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Status record for a single seeder
|
|
70
|
+
*/
|
|
71
|
+
export interface SeedStatus {
|
|
72
|
+
name: string;
|
|
73
|
+
status: 'pending' | 'executed';
|
|
74
|
+
executedAt?: Date;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Helper to create a seeder with full type safety
|
|
78
|
+
*/
|
|
79
|
+
export declare function createSeeder(definition: SeederDefinition): SeederDefinition;
|
|
80
|
+
/**
|
|
81
|
+
* SeederRunner manages the lifecycle of database seeders
|
|
82
|
+
*/
|
|
83
|
+
export declare class SeederRunner extends EventEmitter {
|
|
84
|
+
private prorm;
|
|
85
|
+
private options;
|
|
86
|
+
private tableName;
|
|
87
|
+
private seedersPath;
|
|
88
|
+
private pattern;
|
|
89
|
+
constructor(prorm: any, options?: SeederOptions);
|
|
90
|
+
/**
|
|
91
|
+
* Get the dialect instance from the prorm object.
|
|
92
|
+
* Supports both the custom ORM (getDialectInstance) and a plain query wrapper.
|
|
93
|
+
*/
|
|
94
|
+
private getDialect;
|
|
95
|
+
/**
|
|
96
|
+
* Execute a raw SQL query via the prorm/dialect instance
|
|
97
|
+
*/
|
|
98
|
+
private rawQuery;
|
|
99
|
+
/**
|
|
100
|
+
* Escape an identifier using the dialect, or fall back to simple quoting
|
|
101
|
+
*/
|
|
102
|
+
private escapeId;
|
|
103
|
+
/**
|
|
104
|
+
* Escape a literal value using the dialect so it can be inlined directly into
|
|
105
|
+
* SQL. Inlining avoids relying on a specific bind-placeholder style (`?`,
|
|
106
|
+
* `$1`, `:name`), which differs between dialects — Postgres-family dialects,
|
|
107
|
+
* for example, do not understand `?` — and keeps the tracking/seeder SQL
|
|
108
|
+
* portable across every dialect.
|
|
109
|
+
*/
|
|
110
|
+
private escapeVal;
|
|
111
|
+
/**
|
|
112
|
+
* Resolve the current environment used for env-scoped seeders.
|
|
113
|
+
* Prefers the explicit option, then NODE_ENV; otherwise undefined.
|
|
114
|
+
*/
|
|
115
|
+
private resolveEnv;
|
|
116
|
+
/**
|
|
117
|
+
* Ensure the PrormData tracking table exists
|
|
118
|
+
*/
|
|
119
|
+
ensureSeedsTable(): Promise<void>;
|
|
120
|
+
/**
|
|
121
|
+
* Check whether the tracking table exists
|
|
122
|
+
*/
|
|
123
|
+
private tableExists;
|
|
124
|
+
/**
|
|
125
|
+
* Return names of all seeders that have already been executed
|
|
126
|
+
*/
|
|
127
|
+
getExecutedSeeds(): Promise<string[]>;
|
|
128
|
+
/**
|
|
129
|
+
* Discover all seeder files in the seeders path, sorted by name
|
|
130
|
+
*/
|
|
131
|
+
private discoverSeederFiles;
|
|
132
|
+
/**
|
|
133
|
+
* Load a seeder module from disk
|
|
134
|
+
*/
|
|
135
|
+
private loadSeeder;
|
|
136
|
+
/**
|
|
137
|
+
* Build the query interface object passed to seeder functions.
|
|
138
|
+
* This mirrors the shape that seeder authors expect.
|
|
139
|
+
*/
|
|
140
|
+
private buildQueryInterface;
|
|
141
|
+
/**
|
|
142
|
+
* Run all pending seeders (or a single one, via `options.only`). Returns
|
|
143
|
+
* the names of seeders that were executed.
|
|
144
|
+
*
|
|
145
|
+
* Seeders are discovered in sorted filename order (see
|
|
146
|
+
* discoverSeederFiles) and run strictly one after another. If a seeder's
|
|
147
|
+
* up() throws, the error propagates immediately: seeders already recorded
|
|
148
|
+
* in this call remain recorded (their tracking rows were only inserted
|
|
149
|
+
* after up() resolved successfully), the failing seeder is NOT recorded
|
|
150
|
+
* as executed, and no further seeders in the batch are attempted. Re-running
|
|
151
|
+
* runSeeders() afterwards will retry the failed seeder and any that never
|
|
152
|
+
* got a chance to run.
|
|
153
|
+
*/
|
|
154
|
+
runSeeders(seedersPath?: string, options?: RunSeedersOptions): Promise<string[]>;
|
|
155
|
+
/**
|
|
156
|
+
* Undo a specific seeder, or the most recently executed one if no name given
|
|
157
|
+
*/
|
|
158
|
+
undoSeeder(seederName?: string): Promise<void>;
|
|
159
|
+
/**
|
|
160
|
+
* Undo all executed seeders in reverse order
|
|
161
|
+
*/
|
|
162
|
+
undoAllSeeders(): Promise<void>;
|
|
163
|
+
/**
|
|
164
|
+
* Return the status of all seed files (both pending and executed)
|
|
165
|
+
*/
|
|
166
|
+
getSeedStatus(): Promise<SeedStatus[]>;
|
|
167
|
+
}
|