hysteria-orm 10.3.4 → 10.3.5

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/lib/index.d.cts CHANGED
@@ -1107,10 +1107,46 @@ type ConnectionPolicies = {
1107
1107
  };
1108
1108
  };
1109
1109
  type SqlDataSourceModel = typeof Model;
1110
+ /**
1111
+ * @description Base migration configuration options available for all databases
1112
+ */
1113
+ type MigrationConfigBase = {
1114
+ /**
1115
+ * @description The path to the migrations folder, can be overridden in the cli command
1116
+ * @default "database/migrations"
1117
+ */
1118
+ path?: string;
1119
+ /**
1120
+ * @description Path to the tsconfig.json file for TypeScript migration files, can be overridden in the cli command
1121
+ * @default "./tsconfig.json"
1122
+ */
1123
+ tsconfig?: string;
1124
+ /**
1125
+ * @description Acquire advisory lock before running migrations to prevent concurrent execution, can be overridden in the cli command
1126
+ * @default true
1127
+ */
1128
+ lock?: boolean;
1129
+ };
1130
+ /**
1131
+ * @description Migration configuration with transactional support for PostgreSQL and CockroachDB
1132
+ */
1133
+ type MigrationConfigWithTransactional = MigrationConfigBase & {
1134
+ /**
1135
+ * @description Runs all pending migrations in a single transaction, can be overridden in the cli command
1136
+ * @default true
1137
+ * @note Only available for PostgreSQL and CockroachDB
1138
+ */
1139
+ transactional?: boolean;
1140
+ };
1141
+ /**
1142
+ * @description Migration configuration type based on database type
1143
+ * @description Adds transactional option only for PostgreSQL and CockroachDB
1144
+ */
1145
+ type MigrationConfig<D extends SqlDataSourceType = SqlDataSourceType> = D extends "postgres" | "cockroachdb" ? MigrationConfigWithTransactional : MigrationConfigBase;
1110
1146
  /**
1111
1147
  * @description Common input properties shared across all SqlDataSource types
1112
1148
  */
1113
- type SqlDataSourceInputBase<T extends Record<string, SqlDataSourceModel> = {}, C extends CacheKeys = {}> = {
1149
+ type SqlDataSourceInputBase<T extends Record<string, SqlDataSourceModel> = {}, C extends CacheKeys = {}, D extends SqlDataSourceType = SqlDataSourceType> = {
1114
1150
  /**
1115
1151
  * @description Whether to log the sql queries and other debug information
1116
1152
  */
@@ -1129,10 +1165,9 @@ type SqlDataSourceInputBase<T extends Record<string, SqlDataSourceModel> = {}, C
1129
1165
  */
1130
1166
  models?: T;
1131
1167
  /**
1132
- * @description The path to the migrations folder for the sql data source, it's used to configure the migrations path for the sql data source
1133
- * @default "database/migrations"
1168
+ * @description Migration configuration for the sql data source
1134
1169
  */
1135
- migrationsPath?: string;
1170
+ migrations?: MigrationConfig<D>;
1136
1171
  /**
1137
1172
  * @description The cache strategy to use for the sql data source, it's used to configure the cache strategy for the sql data source
1138
1173
  */
@@ -1162,7 +1197,7 @@ type SlaveContext = {
1162
1197
  * @description The input type for the SqlDataSource constructor
1163
1198
  * @description The connectionPolicies object is used to configure the connection policies for the sql data source
1164
1199
  */
1165
- type SqlDataSourceInput<D extends SqlDataSourceType = SqlDataSourceType, T extends Record<string, SqlDataSourceModel> = {}, C extends CacheKeys = {}> = SqlDataSourceInputBase<T, C> & {
1200
+ type SqlDataSourceInput<D extends SqlDataSourceType = SqlDataSourceType, T extends Record<string, SqlDataSourceModel> = {}, C extends CacheKeys = {}> = SqlDataSourceInputBase<T, C, D> & {
1166
1201
  /**
1167
1202
  * @description The type of the database to connect to
1168
1203
  */
@@ -1183,7 +1218,7 @@ type SqlDataSourceInput<D extends SqlDataSourceType = SqlDataSourceType, T exten
1183
1218
  /**
1184
1219
  * @description The slaves data sources to use for the sql data source, slaves are automatically used for read operations unless specified otherwise
1185
1220
  */
1186
- slaves?: Omit<UseConnectionInput<D, T, C>, "slaves" | "models" | "cacheStrategy" | "adminJs" | "logs" | "queryFormatOptions" | "migrationsPath">[];
1221
+ slaves?: Omit<UseConnectionInput<D, T, C>, "slaves" | "models" | "cacheStrategy" | "adminJs" | "logs" | "queryFormatOptions" | "migrations">[];
1187
1222
  /**
1188
1223
  * @description The algorithm to use for selecting the slave for read operations
1189
1224
  * @default "roundRobin" - Distributes requests evenly across all slaves in sequence
@@ -3738,9 +3773,14 @@ declare class SqlDataSource<D extends SqlDataSourceType = SqlDataSourceType, T e
3738
3773
  */
3739
3774
  cacheKeys: C;
3740
3775
  /**
3741
- * @description The path to the migrations folder for the sql data source, it's used to configure the migrations path for the sql data source
3776
+ * @description Migration configuration for the sql data source
3742
3777
  */
3743
- migrationsPath: string;
3778
+ migrationConfig: {
3779
+ path: string;
3780
+ tsconfig?: string;
3781
+ lock: boolean;
3782
+ transactional: boolean;
3783
+ };
3744
3784
  /**
3745
3785
  * @description AdminJS configuration options
3746
3786
  */
@@ -4049,6 +4089,24 @@ declare class SqlDataSource<D extends SqlDataSourceType = SqlDataSourceType, T e
4049
4089
  * @description Introspects table primary key from the database
4050
4090
  */
4051
4091
  getPrimaryKeyInfo(table: string): Promise<TablePrimaryKeyInfo | undefined>;
4092
+ /**
4093
+ * @description Acquires an advisory lock
4094
+ * @description Useful for preventing concurrent operations from running simultaneously
4095
+ * @param lockKey - The lock identifier (defaults to 'hysteria_lock')
4096
+ * @param timeoutMs - Maximum time to wait for lock in milliseconds (postgres/mssql only)
4097
+ * @returns true if lock was acquired, false otherwise
4098
+ */
4099
+ acquireLock(lockKey?: string, timeoutMs?: number): Promise<boolean>;
4100
+ /**
4101
+ * @description Releases an advisory lock
4102
+ * @param lockKey - The lock identifier (defaults to 'hysteria_lock')
4103
+ * @returns true if lock was released, false otherwise
4104
+ */
4105
+ releaseLock(lockKey?: string): Promise<boolean>;
4106
+ /**
4107
+ * @description Converts a string to a numeric lock ID for databases that require it
4108
+ */
4109
+ private hashStringToLockId;
4052
4110
  /**
4053
4111
  * @description Executes an operation on a slave, handling failures with the configured callback
4054
4112
  * @param operation The operation to execute on the slave
@@ -6001,4 +6059,4 @@ declare const generateOpenApiModelWithMetadata: <T extends new () => Model>(mode
6001
6059
  $id?: string;
6002
6060
  }>;
6003
6061
 
6004
- export { type AdminJsActionOptions, type AdminJsAssets, type AdminJsBranding, type AdminJsInstance, type AdminJsLocale, type AdminJsOptions, type AdminJsPage, type AdminJsPropertyOptions, type AdminJsResourceOptions, type AdminJsSettings, type AnnotatedModel, type AsymmetricEncryptionOptions, AutogeneratedModel, type BaseModelMethodOptions, type BaseModelRelationType, type CacheAdapter, type CacheKeys, ClientMigrator, Collection, type ColumnDataTypeOption, type ColumnDataTypeOptionSimple, type ColumnDataTypeOptionWithBinary, type ColumnDataTypeOptionWithDatePrecision, type ColumnDataTypeOptionWithEnum, type ColumnDataTypeOptionWithLength, type ColumnDataTypeOptionWithPrecision, type ColumnDataTypeOptionWithScaleAndPrecision, type ColumnDataTypeOptionWithText, type ColumnOptions, type ColumnType, type CommonDataSourceInput, type CommonSqlMethodReturnType, type ConnectionPolicies, type DataSourceInput, type DataSourceType, type DateColumnOptions, DryModelQueryBuilder, DryQueryBuilder, type FetchHooks, type GetConnectionReturnType, HysteriaError, InMemoryAdapter, type IndexType, type LazyRelationType, type ManyOptions, type ManyToManyOptions, type ManyToManyStringOptions, Migration, Model, type ModelInstanceType, ModelQueryBuilder, type ModelWithoutRelations, MongoDataSource, type MongoDataSourceInput$1 as MongoDataSourceInput, type MssqlConnectionInstance, type MssqlDataSourceInput, type MssqlPoolInstance, type MysqlConnectionInstance, type MysqlSqlDataSourceInput, type NotNullableMysqlSqlDataSourceInput, type NotNullableOracleDBDataSourceInput, type NotNullableOracleMssqlDataSourceInput, type NotNullablePostgresSqlDataSourceInput, type NotNullableSqliteDataSourceInput, type NumberModelKey, type OneOptions, type OracleDBDataSourceInput, type OracleDBPoolInstance, type PgPoolClientInstance, type PostgresSqlDataSourceInput, QueryBuilder, type RawModelOptions, RawNode, type RawQueryOptions, RedisCacheAdapter, type RedisFetchable, type RedisStorable, type RelatedInstance, type RelationQueryBuilderType, type ReplicationType, type SlaveAlgorithm, type SlaveContext, type SqlCloneOptions, SqlDataSource, type SqlDataSourceInput, type SqlDataSourceModel, type SqlDataSourceType, type SqlDriverSpecificOptions, type SqlPoolType, type Sqlite3ConnectionOptions, type SqliteConnectionInstance, type SqliteDataSourceInput, type StartTransactionOptions, type SymmetricEncryptionOptions, type TableFormat, type ThroughModel, TimestampedModel, Transaction, type TransactionExecutionOptions, type UniqueType, type UseCacheReturnType, type UseConnectionInput, UserMixin, UuidModel, belongsTo, column, createModelFactory, defineMigrator, generateOpenApiModel, generateOpenApiModelSchema, generateOpenApiModelWithMetadata, getCollectionProperties, getIndexes, getModelColumns, type getPoolReturnType, getPrimaryKey, getRelations, getRelationsMetadata, getUniques, hasMany, hasOne, index, HysteriaLogger as logger, manyToMany, property, RedisDataSource as redis, unique, view, withPerformance };
6062
+ export { type AdminJsActionOptions, type AdminJsAssets, type AdminJsBranding, type AdminJsInstance, type AdminJsLocale, type AdminJsOptions, type AdminJsPage, type AdminJsPropertyOptions, type AdminJsResourceOptions, type AdminJsSettings, type AnnotatedModel, type AsymmetricEncryptionOptions, AutogeneratedModel, type BaseModelMethodOptions, type BaseModelRelationType, type CacheAdapter, type CacheKeys, ClientMigrator, Collection, type ColumnDataTypeOption, type ColumnDataTypeOptionSimple, type ColumnDataTypeOptionWithBinary, type ColumnDataTypeOptionWithDatePrecision, type ColumnDataTypeOptionWithEnum, type ColumnDataTypeOptionWithLength, type ColumnDataTypeOptionWithPrecision, type ColumnDataTypeOptionWithScaleAndPrecision, type ColumnDataTypeOptionWithText, type ColumnOptions, type ColumnType, type CommonDataSourceInput, type CommonSqlMethodReturnType, type ConnectionPolicies, type DataSourceInput, type DataSourceType, type DateColumnOptions, DryModelQueryBuilder, DryQueryBuilder, type FetchHooks, type GetConnectionReturnType, HysteriaError, InMemoryAdapter, type IndexType, type LazyRelationType, type ManyOptions, type ManyToManyOptions, type ManyToManyStringOptions, Migration, type MigrationConfig, type MigrationConfigBase, Model, type ModelInstanceType, ModelQueryBuilder, type ModelWithoutRelations, MongoDataSource, type MongoDataSourceInput$1 as MongoDataSourceInput, type MssqlConnectionInstance, type MssqlDataSourceInput, type MssqlPoolInstance, type MysqlConnectionInstance, type MysqlSqlDataSourceInput, type NotNullableMysqlSqlDataSourceInput, type NotNullableOracleDBDataSourceInput, type NotNullableOracleMssqlDataSourceInput, type NotNullablePostgresSqlDataSourceInput, type NotNullableSqliteDataSourceInput, type NumberModelKey, type OneOptions, type OracleDBDataSourceInput, type OracleDBPoolInstance, type PgPoolClientInstance, type PostgresSqlDataSourceInput, QueryBuilder, type RawModelOptions, RawNode, type RawQueryOptions, RedisCacheAdapter, type RedisFetchable, type RedisStorable, type RelatedInstance, type RelationQueryBuilderType, type ReplicationType, type SlaveAlgorithm, type SlaveContext, type SqlCloneOptions, SqlDataSource, type SqlDataSourceInput, type SqlDataSourceModel, type SqlDataSourceType, type SqlDriverSpecificOptions, type SqlPoolType, type Sqlite3ConnectionOptions, type SqliteConnectionInstance, type SqliteDataSourceInput, type StartTransactionOptions, type SymmetricEncryptionOptions, type TableFormat, type ThroughModel, TimestampedModel, Transaction, type TransactionExecutionOptions, type UniqueType, type UseCacheReturnType, type UseConnectionInput, UserMixin, UuidModel, belongsTo, column, createModelFactory, defineMigrator, generateOpenApiModel, generateOpenApiModelSchema, generateOpenApiModelWithMetadata, getCollectionProperties, getIndexes, getModelColumns, type getPoolReturnType, getPrimaryKey, getRelations, getRelationsMetadata, getUniques, hasMany, hasOne, index, HysteriaLogger as logger, manyToMany, property, RedisDataSource as redis, unique, view, withPerformance };
package/lib/index.d.ts CHANGED
@@ -1107,10 +1107,46 @@ type ConnectionPolicies = {
1107
1107
  };
1108
1108
  };
1109
1109
  type SqlDataSourceModel = typeof Model;
1110
+ /**
1111
+ * @description Base migration configuration options available for all databases
1112
+ */
1113
+ type MigrationConfigBase = {
1114
+ /**
1115
+ * @description The path to the migrations folder, can be overridden in the cli command
1116
+ * @default "database/migrations"
1117
+ */
1118
+ path?: string;
1119
+ /**
1120
+ * @description Path to the tsconfig.json file for TypeScript migration files, can be overridden in the cli command
1121
+ * @default "./tsconfig.json"
1122
+ */
1123
+ tsconfig?: string;
1124
+ /**
1125
+ * @description Acquire advisory lock before running migrations to prevent concurrent execution, can be overridden in the cli command
1126
+ * @default true
1127
+ */
1128
+ lock?: boolean;
1129
+ };
1130
+ /**
1131
+ * @description Migration configuration with transactional support for PostgreSQL and CockroachDB
1132
+ */
1133
+ type MigrationConfigWithTransactional = MigrationConfigBase & {
1134
+ /**
1135
+ * @description Runs all pending migrations in a single transaction, can be overridden in the cli command
1136
+ * @default true
1137
+ * @note Only available for PostgreSQL and CockroachDB
1138
+ */
1139
+ transactional?: boolean;
1140
+ };
1141
+ /**
1142
+ * @description Migration configuration type based on database type
1143
+ * @description Adds transactional option only for PostgreSQL and CockroachDB
1144
+ */
1145
+ type MigrationConfig<D extends SqlDataSourceType = SqlDataSourceType> = D extends "postgres" | "cockroachdb" ? MigrationConfigWithTransactional : MigrationConfigBase;
1110
1146
  /**
1111
1147
  * @description Common input properties shared across all SqlDataSource types
1112
1148
  */
1113
- type SqlDataSourceInputBase<T extends Record<string, SqlDataSourceModel> = {}, C extends CacheKeys = {}> = {
1149
+ type SqlDataSourceInputBase<T extends Record<string, SqlDataSourceModel> = {}, C extends CacheKeys = {}, D extends SqlDataSourceType = SqlDataSourceType> = {
1114
1150
  /**
1115
1151
  * @description Whether to log the sql queries and other debug information
1116
1152
  */
@@ -1129,10 +1165,9 @@ type SqlDataSourceInputBase<T extends Record<string, SqlDataSourceModel> = {}, C
1129
1165
  */
1130
1166
  models?: T;
1131
1167
  /**
1132
- * @description The path to the migrations folder for the sql data source, it's used to configure the migrations path for the sql data source
1133
- * @default "database/migrations"
1168
+ * @description Migration configuration for the sql data source
1134
1169
  */
1135
- migrationsPath?: string;
1170
+ migrations?: MigrationConfig<D>;
1136
1171
  /**
1137
1172
  * @description The cache strategy to use for the sql data source, it's used to configure the cache strategy for the sql data source
1138
1173
  */
@@ -1162,7 +1197,7 @@ type SlaveContext = {
1162
1197
  * @description The input type for the SqlDataSource constructor
1163
1198
  * @description The connectionPolicies object is used to configure the connection policies for the sql data source
1164
1199
  */
1165
- type SqlDataSourceInput<D extends SqlDataSourceType = SqlDataSourceType, T extends Record<string, SqlDataSourceModel> = {}, C extends CacheKeys = {}> = SqlDataSourceInputBase<T, C> & {
1200
+ type SqlDataSourceInput<D extends SqlDataSourceType = SqlDataSourceType, T extends Record<string, SqlDataSourceModel> = {}, C extends CacheKeys = {}> = SqlDataSourceInputBase<T, C, D> & {
1166
1201
  /**
1167
1202
  * @description The type of the database to connect to
1168
1203
  */
@@ -1183,7 +1218,7 @@ type SqlDataSourceInput<D extends SqlDataSourceType = SqlDataSourceType, T exten
1183
1218
  /**
1184
1219
  * @description The slaves data sources to use for the sql data source, slaves are automatically used for read operations unless specified otherwise
1185
1220
  */
1186
- slaves?: Omit<UseConnectionInput<D, T, C>, "slaves" | "models" | "cacheStrategy" | "adminJs" | "logs" | "queryFormatOptions" | "migrationsPath">[];
1221
+ slaves?: Omit<UseConnectionInput<D, T, C>, "slaves" | "models" | "cacheStrategy" | "adminJs" | "logs" | "queryFormatOptions" | "migrations">[];
1187
1222
  /**
1188
1223
  * @description The algorithm to use for selecting the slave for read operations
1189
1224
  * @default "roundRobin" - Distributes requests evenly across all slaves in sequence
@@ -3738,9 +3773,14 @@ declare class SqlDataSource<D extends SqlDataSourceType = SqlDataSourceType, T e
3738
3773
  */
3739
3774
  cacheKeys: C;
3740
3775
  /**
3741
- * @description The path to the migrations folder for the sql data source, it's used to configure the migrations path for the sql data source
3776
+ * @description Migration configuration for the sql data source
3742
3777
  */
3743
- migrationsPath: string;
3778
+ migrationConfig: {
3779
+ path: string;
3780
+ tsconfig?: string;
3781
+ lock: boolean;
3782
+ transactional: boolean;
3783
+ };
3744
3784
  /**
3745
3785
  * @description AdminJS configuration options
3746
3786
  */
@@ -4049,6 +4089,24 @@ declare class SqlDataSource<D extends SqlDataSourceType = SqlDataSourceType, T e
4049
4089
  * @description Introspects table primary key from the database
4050
4090
  */
4051
4091
  getPrimaryKeyInfo(table: string): Promise<TablePrimaryKeyInfo | undefined>;
4092
+ /**
4093
+ * @description Acquires an advisory lock
4094
+ * @description Useful for preventing concurrent operations from running simultaneously
4095
+ * @param lockKey - The lock identifier (defaults to 'hysteria_lock')
4096
+ * @param timeoutMs - Maximum time to wait for lock in milliseconds (postgres/mssql only)
4097
+ * @returns true if lock was acquired, false otherwise
4098
+ */
4099
+ acquireLock(lockKey?: string, timeoutMs?: number): Promise<boolean>;
4100
+ /**
4101
+ * @description Releases an advisory lock
4102
+ * @param lockKey - The lock identifier (defaults to 'hysteria_lock')
4103
+ * @returns true if lock was released, false otherwise
4104
+ */
4105
+ releaseLock(lockKey?: string): Promise<boolean>;
4106
+ /**
4107
+ * @description Converts a string to a numeric lock ID for databases that require it
4108
+ */
4109
+ private hashStringToLockId;
4052
4110
  /**
4053
4111
  * @description Executes an operation on a slave, handling failures with the configured callback
4054
4112
  * @param operation The operation to execute on the slave
@@ -6001,4 +6059,4 @@ declare const generateOpenApiModelWithMetadata: <T extends new () => Model>(mode
6001
6059
  $id?: string;
6002
6060
  }>;
6003
6061
 
6004
- export { type AdminJsActionOptions, type AdminJsAssets, type AdminJsBranding, type AdminJsInstance, type AdminJsLocale, type AdminJsOptions, type AdminJsPage, type AdminJsPropertyOptions, type AdminJsResourceOptions, type AdminJsSettings, type AnnotatedModel, type AsymmetricEncryptionOptions, AutogeneratedModel, type BaseModelMethodOptions, type BaseModelRelationType, type CacheAdapter, type CacheKeys, ClientMigrator, Collection, type ColumnDataTypeOption, type ColumnDataTypeOptionSimple, type ColumnDataTypeOptionWithBinary, type ColumnDataTypeOptionWithDatePrecision, type ColumnDataTypeOptionWithEnum, type ColumnDataTypeOptionWithLength, type ColumnDataTypeOptionWithPrecision, type ColumnDataTypeOptionWithScaleAndPrecision, type ColumnDataTypeOptionWithText, type ColumnOptions, type ColumnType, type CommonDataSourceInput, type CommonSqlMethodReturnType, type ConnectionPolicies, type DataSourceInput, type DataSourceType, type DateColumnOptions, DryModelQueryBuilder, DryQueryBuilder, type FetchHooks, type GetConnectionReturnType, HysteriaError, InMemoryAdapter, type IndexType, type LazyRelationType, type ManyOptions, type ManyToManyOptions, type ManyToManyStringOptions, Migration, Model, type ModelInstanceType, ModelQueryBuilder, type ModelWithoutRelations, MongoDataSource, type MongoDataSourceInput$1 as MongoDataSourceInput, type MssqlConnectionInstance, type MssqlDataSourceInput, type MssqlPoolInstance, type MysqlConnectionInstance, type MysqlSqlDataSourceInput, type NotNullableMysqlSqlDataSourceInput, type NotNullableOracleDBDataSourceInput, type NotNullableOracleMssqlDataSourceInput, type NotNullablePostgresSqlDataSourceInput, type NotNullableSqliteDataSourceInput, type NumberModelKey, type OneOptions, type OracleDBDataSourceInput, type OracleDBPoolInstance, type PgPoolClientInstance, type PostgresSqlDataSourceInput, QueryBuilder, type RawModelOptions, RawNode, type RawQueryOptions, RedisCacheAdapter, type RedisFetchable, type RedisStorable, type RelatedInstance, type RelationQueryBuilderType, type ReplicationType, type SlaveAlgorithm, type SlaveContext, type SqlCloneOptions, SqlDataSource, type SqlDataSourceInput, type SqlDataSourceModel, type SqlDataSourceType, type SqlDriverSpecificOptions, type SqlPoolType, type Sqlite3ConnectionOptions, type SqliteConnectionInstance, type SqliteDataSourceInput, type StartTransactionOptions, type SymmetricEncryptionOptions, type TableFormat, type ThroughModel, TimestampedModel, Transaction, type TransactionExecutionOptions, type UniqueType, type UseCacheReturnType, type UseConnectionInput, UserMixin, UuidModel, belongsTo, column, createModelFactory, defineMigrator, generateOpenApiModel, generateOpenApiModelSchema, generateOpenApiModelWithMetadata, getCollectionProperties, getIndexes, getModelColumns, type getPoolReturnType, getPrimaryKey, getRelations, getRelationsMetadata, getUniques, hasMany, hasOne, index, HysteriaLogger as logger, manyToMany, property, RedisDataSource as redis, unique, view, withPerformance };
6062
+ export { type AdminJsActionOptions, type AdminJsAssets, type AdminJsBranding, type AdminJsInstance, type AdminJsLocale, type AdminJsOptions, type AdminJsPage, type AdminJsPropertyOptions, type AdminJsResourceOptions, type AdminJsSettings, type AnnotatedModel, type AsymmetricEncryptionOptions, AutogeneratedModel, type BaseModelMethodOptions, type BaseModelRelationType, type CacheAdapter, type CacheKeys, ClientMigrator, Collection, type ColumnDataTypeOption, type ColumnDataTypeOptionSimple, type ColumnDataTypeOptionWithBinary, type ColumnDataTypeOptionWithDatePrecision, type ColumnDataTypeOptionWithEnum, type ColumnDataTypeOptionWithLength, type ColumnDataTypeOptionWithPrecision, type ColumnDataTypeOptionWithScaleAndPrecision, type ColumnDataTypeOptionWithText, type ColumnOptions, type ColumnType, type CommonDataSourceInput, type CommonSqlMethodReturnType, type ConnectionPolicies, type DataSourceInput, type DataSourceType, type DateColumnOptions, DryModelQueryBuilder, DryQueryBuilder, type FetchHooks, type GetConnectionReturnType, HysteriaError, InMemoryAdapter, type IndexType, type LazyRelationType, type ManyOptions, type ManyToManyOptions, type ManyToManyStringOptions, Migration, type MigrationConfig, type MigrationConfigBase, Model, type ModelInstanceType, ModelQueryBuilder, type ModelWithoutRelations, MongoDataSource, type MongoDataSourceInput$1 as MongoDataSourceInput, type MssqlConnectionInstance, type MssqlDataSourceInput, type MssqlPoolInstance, type MysqlConnectionInstance, type MysqlSqlDataSourceInput, type NotNullableMysqlSqlDataSourceInput, type NotNullableOracleDBDataSourceInput, type NotNullableOracleMssqlDataSourceInput, type NotNullablePostgresSqlDataSourceInput, type NotNullableSqliteDataSourceInput, type NumberModelKey, type OneOptions, type OracleDBDataSourceInput, type OracleDBPoolInstance, type PgPoolClientInstance, type PostgresSqlDataSourceInput, QueryBuilder, type RawModelOptions, RawNode, type RawQueryOptions, RedisCacheAdapter, type RedisFetchable, type RedisStorable, type RelatedInstance, type RelationQueryBuilderType, type ReplicationType, type SlaveAlgorithm, type SlaveContext, type SqlCloneOptions, SqlDataSource, type SqlDataSourceInput, type SqlDataSourceModel, type SqlDataSourceType, type SqlDriverSpecificOptions, type SqlPoolType, type Sqlite3ConnectionOptions, type SqliteConnectionInstance, type SqliteDataSourceInput, type StartTransactionOptions, type SymmetricEncryptionOptions, type TableFormat, type ThroughModel, TimestampedModel, Transaction, type TransactionExecutionOptions, type UniqueType, type UseCacheReturnType, type UseConnectionInput, UserMixin, UuidModel, belongsTo, column, createModelFactory, defineMigrator, generateOpenApiModel, generateOpenApiModelSchema, generateOpenApiModelWithMetadata, getCollectionProperties, getIndexes, getModelColumns, type getPoolReturnType, getPrimaryKey, getRelations, getRelationsMetadata, getUniques, hasMany, hasOne, index, HysteriaLogger as logger, manyToMany, property, RedisDataSource as redis, unique, view, withPerformance };