uql-orm 0.7.6 → 0.7.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (250) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +21 -0
  3. package/dist/browser/mongoSchemaGenerator-B1IameRz.js +721 -0
  4. package/dist/browser/mongoSchemaGenerator-B1IameRz.js.map +1 -0
  5. package/dist/browser/uql-browser.min.js +23 -1
  6. package/dist/browser/uql-browser.min.js.map +1 -1
  7. package/dist/bunSql/bunSql.util.d.ts +4 -4
  8. package/dist/bunSql/bunSql.util.d.ts.map +1 -1
  9. package/dist/bunSql/bunSql.util.js +7 -7
  10. package/dist/bunSql/bunSql.util.js.map +1 -1
  11. package/dist/bunSql/bunSqlPostgresDialect.d.ts +12 -0
  12. package/dist/bunSql/bunSqlPostgresDialect.d.ts.map +1 -0
  13. package/dist/bunSql/bunSqlPostgresDialect.js +21 -0
  14. package/dist/bunSql/bunSqlPostgresDialect.js.map +1 -0
  15. package/dist/bunSql/bunSqlQuerierPool.d.ts +3 -3
  16. package/dist/bunSql/bunSqlQuerierPool.d.ts.map +1 -1
  17. package/dist/bunSql/bunSqlQuerierPool.js +14 -14
  18. package/dist/bunSql/bunSqlQuerierPool.js.map +1 -1
  19. package/dist/bunSql/bunSqliteDialect.d.ts +7 -0
  20. package/dist/bunSql/bunSqliteDialect.d.ts.map +1 -0
  21. package/dist/bunSql/bunSqliteDialect.js +7 -0
  22. package/dist/bunSql/bunSqliteDialect.js.map +1 -0
  23. package/dist/bunSql/index.d.ts +2 -0
  24. package/dist/bunSql/index.d.ts.map +1 -1
  25. package/dist/bunSql/index.js +2 -0
  26. package/dist/bunSql/index.js.map +1 -1
  27. package/dist/cockroachdb/cockroachDialect.d.ts +5 -2
  28. package/dist/cockroachdb/cockroachDialect.d.ts.map +1 -1
  29. package/dist/cockroachdb/cockroachDialect.js +4 -3
  30. package/dist/cockroachdb/cockroachDialect.js.map +1 -1
  31. package/dist/cockroachdb/crdbQuerierPool.js +2 -2
  32. package/dist/cockroachdb/crdbQuerierPool.js.map +1 -1
  33. package/dist/d1/d1QuerierPool.d.ts +2 -2
  34. package/dist/d1/d1QuerierPool.d.ts.map +1 -1
  35. package/dist/d1/d1QuerierPool.js +3 -3
  36. package/dist/d1/d1QuerierPool.js.map +1 -1
  37. package/dist/d1/d1SqliteDialect.d.ts +10 -0
  38. package/dist/d1/d1SqliteDialect.d.ts.map +1 -0
  39. package/dist/d1/d1SqliteDialect.js +10 -0
  40. package/dist/d1/d1SqliteDialect.js.map +1 -0
  41. package/dist/d1/index.d.ts +1 -0
  42. package/dist/d1/index.d.ts.map +1 -1
  43. package/dist/d1/index.js +1 -0
  44. package/dist/d1/index.js.map +1 -1
  45. package/dist/dialect/abstractDialect.d.ts +18 -10
  46. package/dist/dialect/abstractDialect.d.ts.map +1 -1
  47. package/dist/dialect/abstractDialect.js +12 -16
  48. package/dist/dialect/abstractDialect.js.map +1 -1
  49. package/dist/dialect/abstractSqlDialect.d.ts +21 -7
  50. package/dist/dialect/abstractSqlDialect.d.ts.map +1 -1
  51. package/dist/dialect/abstractSqlDialect.js +22 -16
  52. package/dist/dialect/abstractSqlDialect.js.map +1 -1
  53. package/dist/dialect/index.d.ts +4 -1
  54. package/dist/dialect/index.d.ts.map +1 -1
  55. package/dist/dialect/index.js +4 -1
  56. package/dist/dialect/index.js.map +1 -1
  57. package/dist/dialect/mysqlLikeSqlDialect.d.ts +17 -1
  58. package/dist/dialect/mysqlLikeSqlDialect.d.ts.map +1 -1
  59. package/dist/dialect/mysqlLikeSqlDialect.js +32 -0
  60. package/dist/dialect/mysqlLikeSqlDialect.js.map +1 -1
  61. package/dist/libsql/index.d.ts +1 -0
  62. package/dist/libsql/index.d.ts.map +1 -1
  63. package/dist/libsql/index.js +1 -0
  64. package/dist/libsql/index.js.map +1 -1
  65. package/dist/libsql/libsqlDialect.d.ts +10 -0
  66. package/dist/libsql/libsqlDialect.d.ts.map +1 -0
  67. package/dist/libsql/libsqlDialect.js +10 -0
  68. package/dist/libsql/libsqlDialect.js.map +1 -0
  69. package/dist/libsql/libsqlQuerierPool.d.ts +3 -4
  70. package/dist/libsql/libsqlQuerierPool.d.ts.map +1 -1
  71. package/dist/libsql/libsqlQuerierPool.js +5 -7
  72. package/dist/libsql/libsqlQuerierPool.js.map +1 -1
  73. package/dist/maria/mariaDialect.d.ts +6 -3
  74. package/dist/maria/mariaDialect.d.ts.map +1 -1
  75. package/dist/maria/mariaDialect.js +11 -3
  76. package/dist/maria/mariaDialect.js.map +1 -1
  77. package/dist/maria/mariadbQuerierPool.js +2 -2
  78. package/dist/maria/mariadbQuerierPool.js.map +1 -1
  79. package/dist/migrate/assertCliConfig.d.ts +6 -0
  80. package/dist/migrate/assertCliConfig.d.ts.map +1 -0
  81. package/dist/migrate/assertCliConfig.js +31 -0
  82. package/dist/migrate/assertCliConfig.js.map +1 -0
  83. package/dist/migrate/builder/migrationBuilder.js +2 -2
  84. package/dist/migrate/builder/migrationBuilder.js.map +1 -1
  85. package/dist/migrate/cli.d.ts +6 -2
  86. package/dist/migrate/cli.d.ts.map +1 -1
  87. package/dist/migrate/cli.js +14 -10
  88. package/dist/migrate/cli.js.map +1 -1
  89. package/dist/migrate/drift/driftDetector.d.ts +3 -4
  90. package/dist/migrate/drift/driftDetector.d.ts.map +1 -1
  91. package/dist/migrate/drift/driftDetector.js +5 -6
  92. package/dist/migrate/drift/driftDetector.js.map +1 -1
  93. package/dist/migrate/generator/index.d.ts +1 -1
  94. package/dist/migrate/generator/index.d.ts.map +1 -1
  95. package/dist/migrate/generator/index.js +1 -1
  96. package/dist/migrate/generator/index.js.map +1 -1
  97. package/dist/migrate/generator/mongoSchemaGenerator.d.ts +5 -2
  98. package/dist/migrate/generator/mongoSchemaGenerator.d.ts.map +1 -1
  99. package/dist/migrate/generator/mongoSchemaGenerator.js +7 -2
  100. package/dist/migrate/generator/mongoSchemaGenerator.js.map +1 -1
  101. package/dist/migrate/index.d.ts +4 -2
  102. package/dist/migrate/index.d.ts.map +1 -1
  103. package/dist/migrate/index.js +3 -1
  104. package/dist/migrate/index.js.map +1 -1
  105. package/dist/migrate/introspection/baseSqlIntrospector.d.ts +3 -5
  106. package/dist/migrate/introspection/baseSqlIntrospector.d.ts.map +1 -1
  107. package/dist/migrate/introspection/baseSqlIntrospector.js +1 -4
  108. package/dist/migrate/introspection/baseSqlIntrospector.js.map +1 -1
  109. package/dist/migrate/introspection/mysqlIntrospector.d.ts.map +1 -1
  110. package/dist/migrate/introspection/mysqlIntrospector.js +1 -1
  111. package/dist/migrate/introspection/mysqlIntrospector.js.map +1 -1
  112. package/dist/migrate/introspection/postgresIntrospector.d.ts.map +1 -1
  113. package/dist/migrate/introspection/postgresIntrospector.js +1 -1
  114. package/dist/migrate/introspection/postgresIntrospector.js.map +1 -1
  115. package/dist/migrate/introspection/sqliteIntrospector.d.ts.map +1 -1
  116. package/dist/migrate/introspection/sqliteIntrospector.js +9 -1
  117. package/dist/migrate/introspection/sqliteIntrospector.js.map +1 -1
  118. package/dist/migrate/migrator.d.ts +7 -7
  119. package/dist/migrate/migrator.d.ts.map +1 -1
  120. package/dist/migrate/migrator.js +47 -18
  121. package/dist/migrate/migrator.js.map +1 -1
  122. package/dist/migrate/schemaGenerator.d.ts +13 -8
  123. package/dist/migrate/schemaGenerator.d.ts.map +1 -1
  124. package/dist/migrate/schemaGenerator.js +47 -39
  125. package/dist/migrate/schemaGenerator.js.map +1 -1
  126. package/dist/migrate/schemaGeneratorAsync.d.ts +9 -0
  127. package/dist/migrate/schemaGeneratorAsync.d.ts.map +1 -0
  128. package/dist/migrate/schemaGeneratorAsync.js +13 -0
  129. package/dist/migrate/schemaGeneratorAsync.js.map +1 -0
  130. package/dist/mongo/index.d.ts +2 -0
  131. package/dist/mongo/index.d.ts.map +1 -1
  132. package/dist/mongo/index.js +2 -0
  133. package/dist/mongo/index.js.map +1 -1
  134. package/dist/mongo/mongoDialect.d.ts +8 -3
  135. package/dist/mongo/mongoDialect.d.ts.map +1 -1
  136. package/dist/mongo/mongoDialect.js +23 -4
  137. package/dist/mongo/mongoDialect.js.map +1 -1
  138. package/dist/mongo/mongodbNativeDialect.d.ts +10 -0
  139. package/dist/mongo/mongodbNativeDialect.d.ts.map +1 -0
  140. package/dist/mongo/mongodbNativeDialect.js +10 -0
  141. package/dist/mongo/mongodbNativeDialect.js.map +1 -0
  142. package/dist/mongo/mongodbQuerierPool.d.ts +2 -2
  143. package/dist/mongo/mongodbQuerierPool.d.ts.map +1 -1
  144. package/dist/mongo/mongodbQuerierPool.js +3 -3
  145. package/dist/mongo/mongodbQuerierPool.js.map +1 -1
  146. package/dist/mysql/index.d.ts +1 -0
  147. package/dist/mysql/index.d.ts.map +1 -1
  148. package/dist/mysql/index.js +1 -0
  149. package/dist/mysql/index.js.map +1 -1
  150. package/dist/mysql/mysql2Dialect.d.ts +10 -0
  151. package/dist/mysql/mysql2Dialect.d.ts.map +1 -0
  152. package/dist/mysql/mysql2Dialect.js +10 -0
  153. package/dist/mysql/mysql2Dialect.js.map +1 -0
  154. package/dist/mysql/mysql2QuerierPool.d.ts +2 -2
  155. package/dist/mysql/mysql2QuerierPool.d.ts.map +1 -1
  156. package/dist/mysql/mysql2QuerierPool.js +3 -3
  157. package/dist/mysql/mysql2QuerierPool.js.map +1 -1
  158. package/dist/mysql/mysqlDialect.d.ts +3 -3
  159. package/dist/mysql/mysqlDialect.d.ts.map +1 -1
  160. package/dist/mysql/mysqlDialect.js +3 -4
  161. package/dist/mysql/mysqlDialect.js.map +1 -1
  162. package/dist/neon/index.d.ts +1 -0
  163. package/dist/neon/index.d.ts.map +1 -1
  164. package/dist/neon/index.js +1 -0
  165. package/dist/neon/index.js.map +1 -1
  166. package/dist/neon/neonDialect.d.ts +11 -0
  167. package/dist/neon/neonDialect.d.ts.map +1 -0
  168. package/dist/neon/neonDialect.js +11 -0
  169. package/dist/neon/neonDialect.js.map +1 -0
  170. package/dist/neon/neonQuerierPool.d.ts +2 -2
  171. package/dist/neon/neonQuerierPool.d.ts.map +1 -1
  172. package/dist/neon/neonQuerierPool.js +3 -3
  173. package/dist/neon/neonQuerierPool.js.map +1 -1
  174. package/dist/postgres/index.d.ts +2 -0
  175. package/dist/postgres/index.d.ts.map +1 -1
  176. package/dist/postgres/index.js +2 -0
  177. package/dist/postgres/index.js.map +1 -1
  178. package/dist/postgres/pgDialect.d.ts +13 -0
  179. package/dist/postgres/pgDialect.d.ts.map +1 -0
  180. package/dist/postgres/pgDialect.js +14 -0
  181. package/dist/postgres/pgDialect.js.map +1 -0
  182. package/dist/postgres/pgQuerierPool.d.ts +2 -2
  183. package/dist/postgres/pgQuerierPool.d.ts.map +1 -1
  184. package/dist/postgres/pgQuerierPool.js +3 -3
  185. package/dist/postgres/pgQuerierPool.js.map +1 -1
  186. package/dist/postgres/postgresDialect.d.ts +21 -3
  187. package/dist/postgres/postgresDialect.d.ts.map +1 -1
  188. package/dist/postgres/postgresDialect.js +49 -9
  189. package/dist/postgres/postgresDialect.js.map +1 -1
  190. package/dist/postgres/postgresWireDriverCapabilities.d.ts +15 -0
  191. package/dist/postgres/postgresWireDriverCapabilities.d.ts.map +1 -0
  192. package/dist/postgres/postgresWireDriverCapabilities.js +15 -0
  193. package/dist/postgres/postgresWireDriverCapabilities.js.map +1 -0
  194. package/dist/querier/abstractQuerierPool.d.ts +7 -5
  195. package/dist/querier/abstractQuerierPool.d.ts.map +1 -1
  196. package/dist/querier/abstractQuerierPool.js +6 -6
  197. package/dist/querier/abstractQuerierPool.js.map +1 -1
  198. package/dist/schema/canonicalType.d.ts +3 -3
  199. package/dist/schema/canonicalType.d.ts.map +1 -1
  200. package/dist/schema/canonicalType.js +13 -12
  201. package/dist/schema/canonicalType.js.map +1 -1
  202. package/dist/schema/index.d.ts +0 -2
  203. package/dist/schema/index.d.ts.map +1 -1
  204. package/dist/schema/index.js +0 -2
  205. package/dist/schema/index.js.map +1 -1
  206. package/dist/sqlite/betterSqlite3Dialect.d.ts +10 -0
  207. package/dist/sqlite/betterSqlite3Dialect.d.ts.map +1 -0
  208. package/dist/sqlite/betterSqlite3Dialect.js +10 -0
  209. package/dist/sqlite/betterSqlite3Dialect.js.map +1 -0
  210. package/dist/sqlite/index.d.ts +1 -0
  211. package/dist/sqlite/index.d.ts.map +1 -1
  212. package/dist/sqlite/index.js +1 -0
  213. package/dist/sqlite/index.js.map +1 -1
  214. package/dist/sqlite/sqliteDialect.d.ts +17 -3
  215. package/dist/sqlite/sqliteDialect.d.ts.map +1 -1
  216. package/dist/sqlite/sqliteDialect.js +34 -6
  217. package/dist/sqlite/sqliteDialect.js.map +1 -1
  218. package/dist/sqlite/sqliteQuerierPool.d.ts +4 -4
  219. package/dist/sqlite/sqliteQuerierPool.d.ts.map +1 -1
  220. package/dist/sqlite/sqliteQuerierPool.js +4 -4
  221. package/dist/sqlite/sqliteQuerierPool.js.map +1 -1
  222. package/dist/type/config.d.ts +4 -7
  223. package/dist/type/config.d.ts.map +1 -1
  224. package/dist/type/index.d.ts +1 -0
  225. package/dist/type/index.d.ts.map +1 -1
  226. package/dist/type/index.js +1 -0
  227. package/dist/type/index.js.map +1 -1
  228. package/dist/type/migration.d.ts +2 -6
  229. package/dist/type/migration.d.ts.map +1 -1
  230. package/dist/type/migratorDialect.d.ts +10 -0
  231. package/dist/type/migratorDialect.d.ts.map +1 -0
  232. package/dist/type/migratorDialect.js +16 -0
  233. package/dist/type/migratorDialect.js.map +1 -0
  234. package/dist/type/querier.d.ts +6 -9
  235. package/dist/type/querier.d.ts.map +1 -1
  236. package/dist/type/querier.js +1 -1
  237. package/dist/type/querier.js.map +1 -1
  238. package/dist/type/querierPool.d.ts +13 -5
  239. package/dist/type/querierPool.d.ts.map +1 -1
  240. package/dist/type/query.d.ts +26 -5
  241. package/dist/type/query.d.ts.map +1 -1
  242. package/dist/util/ansiSqlLiteral.d.ts +21 -0
  243. package/dist/util/ansiSqlLiteral.d.ts.map +1 -0
  244. package/dist/util/ansiSqlLiteral.js +101 -0
  245. package/dist/util/ansiSqlLiteral.js.map +1 -0
  246. package/package.json +4 -3
  247. package/dist/dialect/dialectConfig.d.ts +0 -40
  248. package/dist/dialect/dialectConfig.d.ts.map +0 -1
  249. package/dist/dialect/dialectConfig.js +0 -197
  250. package/dist/dialect/dialectConfig.js.map +0 -1
@@ -1,12 +1,19 @@
1
- import { AbstractDialect } from '../dialect/index.js';
1
+ import { type AbstractDialect, AbstractSqlDialect } from '../dialect/index.js';
2
2
  import type { CanonicalType, ColumnNode, ForeignKeyAction, IndexNode, TableNode } from '../schema/types.js';
3
- import type { ColumnSchema, Dialect, EntityMeta, FieldOptions, IndexSchema, NamingStrategy, SchemaDiff, SchemaGenerator, Type } from '../type/index.js';
3
+ import type { ColumnSchema, DialectFeatures, EntityMeta, FieldOptions, IndexSchema, NamingStrategy, SchemaDiff, SchemaGenerator, Type } from '../type/index.js';
4
4
  import type { FullColumnDefinition, TableDefinition, TableForeignKeyDefinition } from './builder/types.js';
5
5
  /**
6
6
  * Unified SQL schema generator.
7
7
  * Parameterized by dialect to handle Postgres, MySQL, MariaDB, and SQLite.
8
8
  */
9
- export declare class SqlSchemaGenerator extends AbstractDialect implements SchemaGenerator {
9
+ export declare class SqlSchemaGenerator implements SchemaGenerator {
10
+ protected readonly dialect: AbstractSqlDialect;
11
+ protected readonly defaultForeignKeyAction: ForeignKeyAction;
12
+ constructor(dialect: AbstractSqlDialect, defaultForeignKeyAction?: ForeignKeyAction);
13
+ get namingStrategy(): NamingStrategy | undefined;
14
+ get features(): DialectFeatures;
15
+ resolveTableName<E>(entity: Type<E>, meta: EntityMeta<E>): string;
16
+ resolveColumnName(key: string, field: FieldOptions): string;
10
17
  /**
11
18
  * Escape an identifier (table name, column name, etc.)
12
19
  */
@@ -130,11 +137,9 @@ export declare class SqlSchemaGenerator extends AbstractDialect implements Schem
130
137
  private tableDefinitionToNode;
131
138
  private fullColumnDefinitionToNode;
132
139
  }
133
- import { MongoSchemaGenerator } from './generator/mongoSchemaGenerator.js';
134
- export { MongoSchemaGenerator };
135
140
  /**
136
- * Factory function to create a SchemaGenerator for a specific dialect.
137
- * Returns undefined for unsupported dialects.
141
+ * Synchronous factory for SQL schema generators only.
142
+ * For MongoDB, use `createSchemaGeneratorAsync` from `./schemaGeneratorAsync.js` so the optional `mongodb` peer is not loaded at import time.
138
143
  */
139
- export declare function createSchemaGenerator(dialect: Dialect, namingStrategy?: NamingStrategy, defaultForeignKeyAction?: ForeignKeyAction): SchemaGenerator | undefined;
144
+ export declare function createSchemaGenerator(dialect: AbstractDialect, namingStrategy?: NamingStrategy, defaultForeignKeyAction?: ForeignKeyAction): SchemaGenerator | undefined;
140
145
  //# sourceMappingURL=schemaGenerator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemaGenerator.d.ts","sourceRoot":"","sources":["../../src/migrate/schemaGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemaGenerator.d.ts","sourceRoot":"","sources":["../../src/migrate/schemaGenerator.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { AbstractDialect } from '../dialect/index.js';
1
+ import { AbstractSqlDialect } from '../dialect/index.js';
2
2
  import { getMeta } from '../entity/index.js';
3
3
  import { areTypesEqual, canonicalToSql, fieldOptionsToCanonical, isVectorCategory, sqlToCanonical, } from '../schema/canonicalType.js';
4
4
  import { SchemaASTBuilder } from '../schema/schemaASTBuilder.js';
@@ -10,18 +10,36 @@ const INLINE_VECTOR_DISTANCE_MAP = { cosine: 'cosine', l2: 'euclidean' };
10
10
  * Unified SQL schema generator.
11
11
  * Parameterized by dialect to handle Postgres, MySQL, MariaDB, and SQLite.
12
12
  */
13
- export class SqlSchemaGenerator extends AbstractDialect {
13
+ export class SqlSchemaGenerator {
14
+ dialect;
15
+ defaultForeignKeyAction;
16
+ constructor(dialect, defaultForeignKeyAction = 'NO ACTION') {
17
+ this.dialect = dialect;
18
+ this.defaultForeignKeyAction = defaultForeignKeyAction;
19
+ }
20
+ get namingStrategy() {
21
+ return this.dialect.namingStrategy;
22
+ }
23
+ get features() {
24
+ return this.dialect.features;
25
+ }
26
+ resolveTableName(entity, meta) {
27
+ return this.dialect.resolveTableName(entity, meta);
28
+ }
29
+ resolveColumnName(key, field) {
30
+ return this.dialect.resolveColumnName(key, field);
31
+ }
14
32
  /**
15
33
  * Escape an identifier (table name, column name, etc.)
16
34
  */
17
35
  escapeId(identifier) {
18
- return escapeSqlId(identifier, this.config.quoteChar);
36
+ return escapeSqlId(identifier, this.dialect.quoteChar);
19
37
  }
20
38
  /**
21
39
  * Primary key type for auto-increment integer IDs
22
40
  */
23
41
  get serialPrimaryKeyType() {
24
- return this.config.serialPrimaryKey;
42
+ return this.dialect.serialPrimaryKey;
25
43
  }
26
44
  // ============================================================================
27
45
  // CanonicalType Integration (Unified Type System)
@@ -47,17 +65,14 @@ export class SqlSchemaGenerator extends AbstractDialect {
47
65
  // SchemaGenerator Implementation
48
66
  // ============================================================================
49
67
  generateCreateTable(entity, options = {}) {
50
- const builder = new SchemaASTBuilder(this.namingStrategy);
51
- const ast = builder.fromEntities([entity], {
52
- resolveTableName: this.resolveTableName.bind(this),
53
- resolveColumnName: this.resolveColumnName.bind(this),
54
- });
68
+ const builder = new SchemaASTBuilder(this.dialect.namingStrategy);
69
+ const ast = builder.fromEntities([entity]);
55
70
  const tableNode = ast.getTables()[0];
56
71
  return this.generateCreateTableFromNode(tableNode, options);
57
72
  }
58
73
  generateDropTable(entity) {
59
74
  const meta = getMeta(entity);
60
- const tableName = this.resolveTableName(entity, meta);
75
+ const tableName = this.dialect.resolveTableName(entity, meta);
61
76
  return `DROP TABLE IF EXISTS ${this.escapeId(tableName)};`;
62
77
  }
63
78
  generateAlterTable(diff) {
@@ -129,7 +144,7 @@ export class SqlSchemaGenerator extends AbstractDialect {
129
144
  generateCreateIndex(tableName, index, options = {}) {
130
145
  const unique = index.unique ? 'UNIQUE ' : '';
131
146
  const ifNotExists = (options.ifNotExists ?? this.features.indexIfNotExists) ? 'IF NOT EXISTS ' : '';
132
- const opsClassMap = this.config.vectorOpsClass;
147
+ const opsClassMap = this.dialect.vectorOpsClass;
133
148
  const hasOpsClass = opsClassMap && (index.type === 'hnsw' || index.type === 'ivfflat');
134
149
  // For pgvector indexes: append operator class to the column
135
150
  const columns = index.columns
@@ -158,7 +173,7 @@ export class SqlSchemaGenerator extends AbstractDialect {
158
173
  return `CREATE ${unique}INDEX ${ifNotExists}${this.escapeId(index.name)} ON ${this.escapeId(tableName)}${using} (${columns})${withClause};`;
159
174
  }
160
175
  generateDropIndex(tableName, indexName) {
161
- if (this.config.dropIndexSyntax === 'on-table') {
176
+ if (this.dialect.dropIndexSyntax === 'on-table') {
162
177
  return `DROP INDEX ${this.escapeId(indexName)} ON ${this.escapeId(tableName)};`;
163
178
  }
164
179
  return `DROP INDEX IF EXISTS ${this.escapeId(indexName)};`;
@@ -215,7 +230,7 @@ export class SqlSchemaGenerator extends AbstractDialect {
215
230
  const canonical = this.getCanonicalType(field, fieldType);
216
231
  // Special case for serial primary keys
217
232
  if (isAutoIncrement(field, field.isId === true)) {
218
- return this.serialPrimaryKeyType;
233
+ return this.dialect.serialPrimaryKey;
219
234
  }
220
235
  return this.canonicalTypeToSql(canonical);
221
236
  }
@@ -231,11 +246,11 @@ export class SqlSchemaGenerator extends AbstractDialect {
231
246
  generateAlterColumnStatements(tableName, column, newDefinition) {
232
247
  const table = this.escapeId(tableName);
233
248
  const colName = this.escapeId(column.name);
234
- if (this.config.alterColumnSyntax === 'none') {
249
+ if (this.dialect.alterColumnSyntax === 'none') {
235
250
  throw new Error(`${this.dialect}: Cannot alter column "${column.name}" - you must recreate the table. ` +
236
251
  `This database does not support ALTER COLUMN.`);
237
252
  }
238
- if (this.config.alterColumnStrategy === 'separate-clauses') {
253
+ if (this.dialect.alterColumnStrategy === 'separate-clauses') {
239
254
  const statements = [];
240
255
  // Separate ALTER COLUMN clauses for different changes (Postgres)
241
256
  statements.push(`ALTER TABLE ${table} ALTER COLUMN ${colName} TYPE ${column.type};`);
@@ -253,13 +268,13 @@ export class SqlSchemaGenerator extends AbstractDialect {
253
268
  }
254
269
  return statements;
255
270
  }
256
- return [`ALTER TABLE ${table} ${this.config.alterColumnSyntax} ${newDefinition};`];
271
+ return [`ALTER TABLE ${table} ${this.dialect.alterColumnSyntax} ${newDefinition};`];
257
272
  }
258
273
  /**
259
274
  * Get table options (e.g., ENGINE for MySQL)
260
275
  */
261
276
  getTableOptions(_meta) {
262
- return this.config.tableOptions ? ` ${this.config.tableOptions}` : '';
277
+ return this.dialect.tableOptions ? ` ${this.dialect.tableOptions}` : '';
263
278
  }
264
279
  /**
265
280
  * Generate column comment clause (if supported)
@@ -275,7 +290,7 @@ export class SqlSchemaGenerator extends AbstractDialect {
275
290
  * Format a default value for SQL
276
291
  */
277
292
  formatDefaultValue(value) {
278
- if (this.config.booleanLiteral === 'integer' && typeof value === 'boolean') {
293
+ if (this.dialect.booleanLiteral === 'integer' && typeof value === 'boolean') {
279
294
  return value ? '1' : '0';
280
295
  }
281
296
  return formatDefaultValue(value);
@@ -287,7 +302,7 @@ export class SqlSchemaGenerator extends AbstractDialect {
287
302
  const meta = getMeta(entity);
288
303
  if (!currentTable) {
289
304
  return {
290
- tableName: this.resolveTableName(entity, meta),
305
+ tableName: this.dialect.resolveTableName(entity, meta),
291
306
  type: 'create',
292
307
  };
293
308
  }
@@ -300,7 +315,7 @@ export class SqlSchemaGenerator extends AbstractDialect {
300
315
  const field = meta.fields[key];
301
316
  if (!field || field.virtual)
302
317
  continue;
303
- const columnName = this.resolveColumnName(key, field);
318
+ const columnName = this.dialect.resolveColumnName(key, field);
304
319
  const currentColumn = currentColumns.get(columnName);
305
320
  if (!currentColumn) {
306
321
  columnsToAdd.push(this.fieldToColumnSchema(key, field, meta));
@@ -321,7 +336,7 @@ export class SqlSchemaGenerator extends AbstractDialect {
321
336
  return undefined;
322
337
  }
323
338
  return {
324
- tableName: this.resolveTableName(entity, meta),
339
+ tableName: this.dialect.resolveTableName(entity, meta),
325
340
  type: 'alter',
326
341
  columnsToAdd: columnsToAdd.length > 0 ? columnsToAdd : undefined,
327
342
  columnsToAlter: columnsToAlter.length > 0 ? columnsToAlter : undefined,
@@ -346,7 +361,7 @@ export class SqlSchemaGenerator extends AbstractDialect {
346
361
  fieldToColumnSchema(fieldKey, field, meta) {
347
362
  const isPrimaryKey = field.isId === true && meta.id === fieldKey;
348
363
  return {
349
- name: this.resolveColumnName(fieldKey, field),
364
+ name: this.dialect.resolveColumnName(fieldKey, field),
350
365
  type: this.getSqlType(field, field.type),
351
366
  nullable: field.nullable ?? !isPrimaryKey,
352
367
  defaultValue: field.defaultValue,
@@ -451,8 +466,8 @@ export class SqlSchemaGenerator extends AbstractDialect {
451
466
  sql += vectorIndexes.map((idx) => ` ${this.generateInlineVectorIndex(idx)}`).join(',\n');
452
467
  }
453
468
  sql += '\n)';
454
- if (this.config.tableOptions) {
455
- sql += ` ${this.config.tableOptions}`;
469
+ if (this.dialect.tableOptions) {
470
+ sql += ` ${this.dialect.tableOptions}`;
456
471
  }
457
472
  sql += ';';
458
473
  // Generate regular indexes as separate statements
@@ -461,10 +476,10 @@ export class SqlSchemaGenerator extends AbstractDialect {
461
476
  sql += `\n${indexStatements}`;
462
477
  }
463
478
  // Prepend CREATE EXTENSION for dialects that require it (e.g. pgvector)
464
- if (this.config.vectorExtension) {
479
+ if (this.dialect.vectorExtension) {
465
480
  const hasVectorCol = [...table.columns.values()].some((c) => isVectorCategory(c.type.category));
466
481
  if (hasVectorCol) {
467
- sql = `CREATE EXTENSION IF NOT EXISTS ${this.config.vectorExtension};\n${sql}`;
482
+ sql = `CREATE EXTENSION IF NOT EXISTS ${this.dialect.vectorExtension};\n${sql}`;
468
483
  }
469
484
  }
470
485
  return sql;
@@ -549,7 +564,7 @@ export class SqlSchemaGenerator extends AbstractDialect {
549
564
  return `DROP TABLE ${ifExists}${this.escapeId(tableName)}${cascade};`;
550
565
  }
551
566
  generateRenameTableSql(oldName, newName) {
552
- if (this.config.renameTableSyntax === 'rename-table') {
567
+ if (this.dialect.renameTableSyntax === 'rename-table') {
553
568
  return `RENAME TABLE ${this.escapeId(oldName)} TO ${this.escapeId(newName)};`;
554
569
  }
555
570
  return `ALTER TABLE ${this.escapeId(oldName)} RENAME TO ${this.escapeId(newName)};`;
@@ -588,7 +603,7 @@ export class SqlSchemaGenerator extends AbstractDialect {
588
603
  `ON DELETE ${foreignKey.onDelete ?? this.defaultForeignKeyAction} ON UPDATE ${foreignKey.onUpdate ?? this.defaultForeignKeyAction};`);
589
604
  }
590
605
  generateDropForeignKeySql(tableName, constraintName) {
591
- return `ALTER TABLE ${this.escapeId(tableName)} ${this.config.dropForeignKeySyntax} ${this.escapeId(constraintName)};`;
606
+ return `ALTER TABLE ${this.escapeId(tableName)} ${this.dialect.dropForeignKeySyntax} ${this.escapeId(constraintName)};`;
592
607
  }
593
608
  tableDefinitionToNode(def) {
594
609
  const columns = new Map();
@@ -671,21 +686,14 @@ export class SqlSchemaGenerator extends AbstractDialect {
671
686
  };
672
687
  }
673
688
  }
674
- import { MongoSchemaGenerator } from './generator/mongoSchemaGenerator.js';
675
- export { MongoSchemaGenerator };
676
689
  /**
677
- * Factory function to create a SchemaGenerator for a specific dialect.
678
- * Returns undefined for unsupported dialects.
690
+ * Synchronous factory for SQL schema generators only.
691
+ * For MongoDB, use `createSchemaGeneratorAsync` from `./schemaGeneratorAsync.js` so the optional `mongodb` peer is not loaded at import time.
679
692
  */
680
693
  export function createSchemaGenerator(dialect, namingStrategy, defaultForeignKeyAction) {
681
- if (dialect === 'mongodb') {
682
- return new MongoSchemaGenerator(namingStrategy, defaultForeignKeyAction);
683
- }
684
- // Check if dialect is supported (has config)
685
- const supportedDialects = ['postgres', 'mysql', 'mariadb', 'sqlite'];
686
- if (!supportedDialects.includes(dialect)) {
694
+ if (!(dialect instanceof AbstractSqlDialect)) {
687
695
  return undefined;
688
696
  }
689
- return new SqlSchemaGenerator(dialect, namingStrategy, defaultForeignKeyAction);
697
+ return new SqlSchemaGenerator(dialect, defaultForeignKeyAction);
690
698
  }
691
699
  //# sourceMappingURL=schemaGenerator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemaGenerator.js","sourceRoot":"","sources":["../../src/migrate/schemaGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemaGenerator.js","sourceRoot":"","sources":["../../src/migrate/schemaGenerator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { AbstractDialect } from '../dialect/abstractDialect.js';
2
+ import type { ForeignKeyAction } from '../schema/types.js';
3
+ import type { NamingStrategy, SchemaGenerator } from '../type/index.js';
4
+ /**
5
+ * Async factory for schema generators. Use this for MongoDB so the optional peer
6
+ * `mongodb` is only loaded when this path runs. SQL dialects delegate to {@link createSchemaGenerator}.
7
+ */
8
+ export declare function createSchemaGeneratorAsync(dialect: AbstractDialect, namingStrategy?: NamingStrategy, defaultForeignKeyAction?: ForeignKeyAction): Promise<SchemaGenerator | undefined>;
9
+ //# sourceMappingURL=schemaGeneratorAsync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemaGeneratorAsync.d.ts","sourceRoot":"","sources":["../../src/migrate/schemaGeneratorAsync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGxE;;;GAGG;AACH,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,eAAe,EACxB,cAAc,CAAC,EAAE,cAAc,EAC/B,uBAAuB,CAAC,EAAE,gBAAgB,GACzC,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAMtC"}
@@ -0,0 +1,13 @@
1
+ import { createSchemaGenerator } from './schemaGenerator.js';
2
+ /**
3
+ * Async factory for schema generators. Use this for MongoDB so the optional peer
4
+ * `mongodb` is only loaded when this path runs. SQL dialects delegate to {@link createSchemaGenerator}.
5
+ */
6
+ export async function createSchemaGeneratorAsync(dialect, namingStrategy, defaultForeignKeyAction) {
7
+ if (dialect.dialectName === 'mongodb') {
8
+ const { MongoSchemaGenerator } = await import('./generator/mongoSchemaGenerator.js');
9
+ return new MongoSchemaGenerator(namingStrategy, defaultForeignKeyAction);
10
+ }
11
+ return createSchemaGenerator(dialect, namingStrategy, defaultForeignKeyAction);
12
+ }
13
+ //# sourceMappingURL=schemaGeneratorAsync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemaGeneratorAsync.js","sourceRoot":"","sources":["../../src/migrate/schemaGeneratorAsync.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,OAAwB,EACxB,cAA+B,EAC/B,uBAA0C;IAE1C,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACtC,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,qCAAqC,CAAC,CAAC;QACrF,OAAO,IAAI,oBAAoB,CAAC,cAAc,EAAE,uBAAuB,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,qBAAqB,CAAC,OAAO,EAAE,cAAc,EAAE,uBAAuB,CAAC,CAAC;AACjF,CAAC"}
@@ -1,4 +1,6 @@
1
+ export { MongoSchemaGenerator } from '../migrate/generator/mongoSchemaGenerator.js';
1
2
  export * from './mongoDialect.js';
3
+ export * from './mongodbNativeDialect.js';
2
4
  export * from './mongodbQuerier.js';
3
5
  export * from './mongodbQuerierPool.js';
4
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mongo/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mongo/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACpF,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC"}
@@ -1,4 +1,6 @@
1
+ export { MongoSchemaGenerator } from '../migrate/generator/mongoSchemaGenerator.js';
1
2
  export * from './mongoDialect.js';
3
+ export * from './mongodbNativeDialect.js';
2
4
  export * from './mongodbQuerier.js';
3
5
  export * from './mongodbQuerierPool.js';
4
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mongo/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mongo/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACpF,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC"}
@@ -1,12 +1,17 @@
1
1
  import { type Document, type Filter, ObjectId, type Sort } from 'mongodb';
2
- import { AbstractDialect } from '../dialect/index.js';
3
- import type { EntityMeta, FieldValue, NamingStrategy, Query, QueryAggregate, QueryOptions, QuerySelect, QuerySortMap, QueryVectorSearch, QueryWhere, RelationKey, Type } from '../type/index.js';
2
+ import type { DialectOptions } from '../dialect/abstractDialect.js';
3
+ import { AbstractDialect } from '../dialect/abstractDialect.js';
4
+ import type { DialectFeatures, EntityMeta, FieldValue, Query, QueryAggregate, QueryOptions, QuerySelect, QuerySortMap, QueryVectorSearch, QueryWhere, RelationKey, Type } from '../type/index.js';
4
5
  import { type CallbackKey } from '../util/index.js';
5
6
  export declare class MongoDialect extends AbstractDialect {
7
+ /** Default {@link DialectFeatures} for MongoDB; shared by {@link MongoSchemaGenerator}. */
8
+ static readonly defaultDialectFeatures: DialectFeatures;
9
+ readonly dialectName = "mongodb";
10
+ readonly insertIdStrategy = "last";
11
+ constructor(options?: DialectOptions);
6
12
  private static readonly ID_KEY;
7
13
  private static readonly VECTOR_INDEX_TYPES;
8
14
  private static readonly AGGREGATE_OP_MAP;
9
- constructor(namingStrategy?: NamingStrategy);
10
15
  where<E extends Document>(entity: Type<E>, where?: QueryWhere<E>, { softDelete }?: QueryOptions): Filter<E>;
11
16
  /**
12
17
  * Check if an object has operator keys (keys starting with $).
@@ -1 +1 @@
1
- {"version":3,"file":"mongoDialect.d.ts","sourceRoot":"","sources":["../../src/mongo/mongoDialect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mongoDialect.d.ts","sourceRoot":"","sources":["../../src/mongo/mongoDialect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,MAAM,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGhE,OAAO,KAAK,EACV,eAAe,EACf,UAAU,EACV,UAAU,EACV,KAAK,EACL,cAAc,EACd,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,UAAU,EACV,WAAW,EACX,IAAI,EACL,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAGL,KAAK,WAAW,EAQjB,MAAM,kBAAkB,CAAC;AAE1B,qBAAa,YAAa,SAAQ,eAAe;IAC/C,2FAA2F;IAC3F,MAAM,CAAC,QAAQ,CAAC,sBAAsB,EAAE,eAAe,CAerD;IAEF,QAAQ,CAAC,WAAW,aAAa;IAEjC,SAAkB,gBAAgB,UAAU;gBAEhC,OAAO,GAAE,cAAmB;IAIxC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAS;IACvC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAqE;IAE/G,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAMtC;IAEK,KAAK,CAAC,CAAC,SAAS,QAAQ,EAC7B,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EACf,KAAK,GAAE,UAAU,CAAC,CAAC,CAAM,EACzB,EAAE,UAAU,EAAE,GAAE,YAAiB,GAChC,MAAM,CAAC,CAAC,CAAC;IAuCZ;;OAEG;IACH,OAAO,CAAC,eAAe;IAIvB,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAI9D,oEAAoE;IACpE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CASlC;IAEF,qDAAqD;IACrD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAc/B;IAEH;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAwCnB,MAAM,CAAC,CAAC,SAAS,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;IAInF,IAAI,CAAC,CAAC,SAAS,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI;IAStE,mBAAmB,CAAC,CAAC,SAAS,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,6BAA6B,CAAC,CAAC,CAAC,EAAE;IAsEzG,YAAY,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,SAAS,GAAG,CAAC,EAAE,GAAG,SAAS;IAI7F,WAAW,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,SAAS,GAAG,CAAC,GAAG,SAAS;IAsCvF,UAAU,CAAC,CAAC,SAAS,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC;IAW1C,cAAc,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC;IAIzG,eAAe,CAAC,CAAC,SAAS,QAAQ,EACvC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EACnB,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,EAChB,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,CAAC,CAAC,EAAE;IAef;;OAEG;IACI,oBAAoB,CAAC,CAAC,SAAS,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;IAiEjH,OAAO,CAAC,iBAAiB;IAazB;;;OAGG;IACH,iBAAiB,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,mBAAmB,CAAC,CAAC,CAAC,GAAG,SAAS;IAqB5G;;;OAGG;IACH,sBAAsB,CAAC,CAAC,SAAS,QAAQ,EACvC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EACf,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EACnB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS,EAChC,KAAK,EAAE,MAAM,GACZ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CA+B3B;AAED,MAAM,MAAM,6BAA6B,CAAC,CAAC,SAAS,QAAQ,IAAI;IAC9D,OAAO,CAAC,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7C,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,KAAK,sBAAsB,CAAC,CAAC,SAAS,QAAQ,IAAI;IAChD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,6BAA6B,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,QAAQ,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;CAC9B,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,0BAA0B,CAAC,EAAE,OAAO,CAAC;CAC/C,CAAC;AAEF,KAAK,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEjC,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC;IACzC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;CACvC,CAAC"}
@@ -1,8 +1,30 @@
1
1
  import { ObjectId } from 'mongodb';
2
- import { AbstractDialect } from '../dialect/index.js';
2
+ import { AbstractDialect } from '../dialect/abstractDialect.js';
3
3
  import { getMeta } from '../entity/index.js';
4
4
  import { buildQueryWhereAsMap, buildSortMap, fillOnFields, filterFieldKeys, filterRelationKeys, getKeys, hasKeys, isVectorSearch, parseGroupMap, } from '../util/index.js';
5
5
  export class MongoDialect extends AbstractDialect {
6
+ /** Default {@link DialectFeatures} for MongoDB; shared by {@link MongoSchemaGenerator}. */
7
+ static defaultDialectFeatures = {
8
+ explicitJsonCast: false,
9
+ nativeArrays: false,
10
+ supportsJsonb: false,
11
+ returning: false,
12
+ ifNotExists: false,
13
+ indexIfNotExists: false,
14
+ dropTableCascade: false,
15
+ renameColumn: false,
16
+ foreignKeyAlter: false,
17
+ columnComment: false,
18
+ vectorIndexStyle: 'create',
19
+ vectorSupportsLength: false,
20
+ supportsTimestamptz: false,
21
+ defaultStringAsText: false,
22
+ };
23
+ dialectName = 'mongodb';
24
+ insertIdStrategy = 'last';
25
+ constructor(options = {}) {
26
+ super(MongoDialect.defaultDialectFeatures, options);
27
+ }
6
28
  static ID_KEY = '_id';
7
29
  static VECTOR_INDEX_TYPES = new Set(['vectorSearch', 'hnsw', 'ivfflat', 'vector']);
8
30
  static AGGREGATE_OP_MAP = {
@@ -12,9 +34,6 @@ export class MongoDialect extends AbstractDialect {
12
34
  $min: '$min',
13
35
  $max: '$max',
14
36
  };
15
- constructor(namingStrategy) {
16
- super('mongodb', namingStrategy);
17
- }
18
37
  where(entity, where = {}, { softDelete } = {}) {
19
38
  const meta = getMeta(entity);
20
39
  const whereMap = buildQueryWhereAsMap(meta, where);