@mikro-orm/sql 7.0.15-dev.9 → 7.0.15

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 (89) hide show
  1. package/AbstractSqlConnection.d.ts +94 -58
  2. package/AbstractSqlConnection.js +235 -238
  3. package/AbstractSqlDriver.d.ts +410 -155
  4. package/AbstractSqlDriver.js +2100 -1972
  5. package/AbstractSqlPlatform.d.ts +86 -76
  6. package/AbstractSqlPlatform.js +169 -167
  7. package/PivotCollectionPersister.d.ts +33 -15
  8. package/PivotCollectionPersister.js +158 -160
  9. package/README.md +1 -1
  10. package/SqlEntityManager.d.ts +67 -22
  11. package/SqlEntityManager.js +54 -38
  12. package/SqlEntityRepository.d.ts +14 -14
  13. package/SqlEntityRepository.js +23 -23
  14. package/SqlMikroORM.d.ts +49 -8
  15. package/SqlMikroORM.js +8 -8
  16. package/dialects/mssql/MsSqlNativeQueryBuilder.d.ts +12 -12
  17. package/dialects/mssql/MsSqlNativeQueryBuilder.js +199 -201
  18. package/dialects/mysql/BaseMySqlPlatform.d.ts +65 -46
  19. package/dialects/mysql/BaseMySqlPlatform.js +137 -134
  20. package/dialects/mysql/MySqlExceptionConverter.d.ts +6 -6
  21. package/dialects/mysql/MySqlExceptionConverter.js +91 -77
  22. package/dialects/mysql/MySqlNativeQueryBuilder.d.ts +3 -3
  23. package/dialects/mysql/MySqlNativeQueryBuilder.js +66 -69
  24. package/dialects/mysql/MySqlSchemaHelper.d.ts +58 -39
  25. package/dialects/mysql/MySqlSchemaHelper.js +327 -319
  26. package/dialects/oracledb/OracleDialect.d.ts +81 -52
  27. package/dialects/oracledb/OracleDialect.js +155 -149
  28. package/dialects/oracledb/OracleNativeQueryBuilder.d.ts +12 -12
  29. package/dialects/oracledb/OracleNativeQueryBuilder.js +239 -243
  30. package/dialects/postgresql/BasePostgreSqlPlatform.d.ts +110 -107
  31. package/dialects/postgresql/BasePostgreSqlPlatform.js +370 -369
  32. package/dialects/postgresql/FullTextType.d.ts +10 -6
  33. package/dialects/postgresql/FullTextType.js +51 -51
  34. package/dialects/postgresql/PostgreSqlExceptionConverter.d.ts +5 -5
  35. package/dialects/postgresql/PostgreSqlExceptionConverter.js +55 -43
  36. package/dialects/postgresql/PostgreSqlNativeQueryBuilder.d.ts +1 -1
  37. package/dialects/postgresql/PostgreSqlNativeQueryBuilder.js +4 -4
  38. package/dialects/postgresql/PostgreSqlSchemaHelper.d.ts +117 -82
  39. package/dialects/postgresql/PostgreSqlSchemaHelper.js +748 -712
  40. package/dialects/sqlite/BaseSqliteConnection.d.ts +3 -5
  41. package/dialects/sqlite/BaseSqliteConnection.js +21 -19
  42. package/dialects/sqlite/NodeSqliteDialect.d.ts +1 -1
  43. package/dialects/sqlite/NodeSqliteDialect.js +23 -23
  44. package/dialects/sqlite/SqliteDriver.d.ts +1 -1
  45. package/dialects/sqlite/SqliteDriver.js +3 -3
  46. package/dialects/sqlite/SqliteExceptionConverter.d.ts +6 -6
  47. package/dialects/sqlite/SqliteExceptionConverter.js +67 -51
  48. package/dialects/sqlite/SqliteNativeQueryBuilder.d.ts +2 -2
  49. package/dialects/sqlite/SqliteNativeQueryBuilder.js +7 -7
  50. package/dialects/sqlite/SqlitePlatform.d.ts +64 -73
  51. package/dialects/sqlite/SqlitePlatform.js +143 -143
  52. package/dialects/sqlite/SqliteSchemaHelper.d.ts +78 -61
  53. package/dialects/sqlite/SqliteSchemaHelper.js +541 -522
  54. package/package.json +3 -3
  55. package/plugin/index.d.ts +42 -35
  56. package/plugin/index.js +43 -36
  57. package/plugin/transformer.d.ts +137 -95
  58. package/plugin/transformer.js +1012 -881
  59. package/query/ArrayCriteriaNode.d.ts +4 -4
  60. package/query/ArrayCriteriaNode.js +18 -18
  61. package/query/CriteriaNode.d.ts +35 -25
  62. package/query/CriteriaNode.js +142 -132
  63. package/query/CriteriaNodeFactory.d.ts +49 -6
  64. package/query/CriteriaNodeFactory.js +97 -94
  65. package/query/NativeQueryBuilder.d.ts +120 -120
  66. package/query/NativeQueryBuilder.js +507 -501
  67. package/query/ObjectCriteriaNode.d.ts +12 -12
  68. package/query/ObjectCriteriaNode.js +298 -282
  69. package/query/QueryBuilder.d.ts +1558 -906
  70. package/query/QueryBuilder.js +2346 -2217
  71. package/query/QueryBuilderHelper.d.ts +153 -72
  72. package/query/QueryBuilderHelper.js +1084 -1032
  73. package/query/ScalarCriteriaNode.d.ts +3 -3
  74. package/query/ScalarCriteriaNode.js +53 -46
  75. package/query/enums.d.ts +14 -14
  76. package/query/enums.js +14 -14
  77. package/query/raw.d.ts +16 -6
  78. package/query/raw.js +10 -10
  79. package/schema/DatabaseSchema.d.ts +74 -50
  80. package/schema/DatabaseSchema.js +359 -331
  81. package/schema/DatabaseTable.d.ts +96 -73
  82. package/schema/DatabaseTable.js +1046 -974
  83. package/schema/SchemaComparator.d.ts +70 -66
  84. package/schema/SchemaComparator.js +790 -765
  85. package/schema/SchemaHelper.d.ts +128 -97
  86. package/schema/SchemaHelper.js +683 -668
  87. package/schema/SqlSchemaGenerator.d.ts +79 -59
  88. package/schema/SqlSchemaGenerator.js +525 -495
  89. package/typings.d.ts +405 -275
@@ -1,4 +1,10 @@
1
- import { type Connection, type Dictionary, type Options, type Transaction, type RawQueryFragment } from '@mikro-orm/core';
1
+ import {
2
+ type Connection,
3
+ type Dictionary,
4
+ type Options,
5
+ type Transaction,
6
+ type RawQueryFragment,
7
+ } from '@mikro-orm/core';
2
8
  import type { AbstractSqlConnection } from '../AbstractSqlConnection.js';
3
9
  import type { AbstractSqlPlatform } from '../AbstractSqlPlatform.js';
4
10
  import type { CheckDef, Column, ForeignKey, IndexDef, Table, TableDifference } from '../typings.js';
@@ -6,100 +12,125 @@ import type { DatabaseSchema } from './DatabaseSchema.js';
6
12
  import type { DatabaseTable } from './DatabaseTable.js';
7
13
  /** Base class for database-specific schema helpers. Provides SQL generation for DDL operations. */
8
14
  export declare abstract class SchemaHelper {
9
- protected readonly platform: AbstractSqlPlatform;
10
- constructor(platform: AbstractSqlPlatform);
11
- /** Returns SQL to prepend to schema migration scripts (e.g., disabling FK checks). */
12
- getSchemaBeginning(_charset: string, disableForeignKeys?: boolean): string;
13
- /** Returns SQL to disable foreign key checks. */
14
- disableForeignKeysSQL(): string;
15
- /** Returns SQL to re-enable foreign key checks. */
16
- enableForeignKeysSQL(): string;
17
- /** Returns SQL to append to schema migration scripts (e.g., re-enabling FK checks). */
18
- getSchemaEnd(disableForeignKeys?: boolean): string;
19
- finalizeTable(table: DatabaseTable, charset: string, collate?: string): string;
20
- appendComments(table: DatabaseTable): string[];
21
- supportsSchemaConstraints(): boolean;
22
- getPrimaryKeys(connection: AbstractSqlConnection, indexes: IndexDef[] | undefined, tableName: string, schemaName?: string): Promise<string[]>;
23
- inferLengthFromColumnType(type: string): number | undefined;
24
- protected getTableKey(t: Table): string;
25
- getCreateNativeEnumSQL(name: string, values: unknown[], schema?: string): string;
26
- getDropNativeEnumSQL(name: string, schema?: string): string;
27
- getAlterNativeEnumSQL(name: string, schema?: string, value?: string, items?: string[], oldItems?: string[]): string;
28
- /** Loads table metadata (columns, indexes, foreign keys) from the database information schema. */
29
- abstract loadInformationSchema(schema: DatabaseSchema, connection: AbstractSqlConnection, tables: Table[], schemas?: string[], ctx?: Transaction): Promise<void>;
30
- /** Returns the SQL query to list all tables in the database. */
31
- getListTablesSQL(): string;
32
- /** Retrieves all tables from the database. */
33
- getAllTables(connection: AbstractSqlConnection, schemas?: string[], ctx?: Transaction): Promise<Table[]>;
34
- getListViewsSQL(): string;
35
- loadViews(schema: DatabaseSchema, connection: AbstractSqlConnection, schemaName?: string, ctx?: Transaction): Promise<void>;
36
- /** Returns SQL to rename a column in a table. */
37
- getRenameColumnSQL(tableName: string, oldColumnName: string, to: Column, schemaName?: string): string;
38
- /** Returns SQL to create an index on a table. */
39
- getCreateIndexSQL(tableName: string, index: IndexDef): string;
40
- /**
41
- * Hook for adding driver-specific index options (e.g., fill factor for PostgreSQL).
42
- */
43
- protected getCreateIndexSuffix(_index: IndexDef): string;
44
- /**
45
- * Build the column list for an index, supporting advanced options like sort order, nulls ordering, and collation.
46
- * Note: Prefix length is only supported by MySQL/MariaDB which override this method.
47
- */
48
- protected getIndexColumns(index: IndexDef): string;
49
- /** Returns SQL to drop an index. */
50
- getDropIndexSQL(tableName: string, index: IndexDef): string;
51
- getRenameIndexSQL(tableName: string, index: IndexDef, oldIndexName: string): string[];
52
- /** Returns SQL statements to apply a table difference (add/drop/alter columns, indexes, foreign keys). */
53
- alterTable(diff: TableDifference, safe?: boolean): string[];
54
- /** Returns SQL to add columns to an existing table. */
55
- getAddColumnsSQL(table: DatabaseTable, columns: Column[]): string[];
56
- getDropColumnsSQL(tableName: string, columns: Column[], schemaName?: string): string;
57
- hasNonDefaultPrimaryKeyName(table: DatabaseTable): boolean;
58
- castColumn(name: string, type: string): string;
59
- alterTableColumn(column: Column, table: DatabaseTable, changedProperties: Set<string>): string[];
60
- createTableColumn(column: Column, table: DatabaseTable, changedProperties?: Set<string>): string | undefined;
61
- getPreAlterTable(tableDiff: TableDifference, safe: boolean): string[];
62
- getPostAlterTable(tableDiff: TableDifference, safe: boolean): string[];
63
- getChangeColumnCommentSQL(tableName: string, to: Column, schemaName?: string): string;
64
- getNamespaces(connection: AbstractSqlConnection, ctx?: Transaction): Promise<string[]>;
65
- protected mapIndexes(indexes: IndexDef[]): Promise<IndexDef[]>;
66
- mapForeignKeys(fks: any[], tableName: string, schemaName?: string): Dictionary;
67
- normalizeDefaultValue(defaultValue: string | RawQueryFragment, length?: number, defaultValues?: Dictionary<string[]>): string | number;
68
- getCreateDatabaseSQL(name: string): string;
69
- getDropDatabaseSQL(name: string): string;
70
- getCreateNamespaceSQL(name: string): string;
71
- getDropNamespaceSQL(name: string): string;
72
- getDatabaseExistsSQL(name: string): string;
73
- getDatabaseNotExistsError(dbName: string): string;
74
- getManagementDbName(): string;
75
- getDefaultEmptyString(): string;
76
- databaseExists(connection: Connection, name: string): Promise<boolean>;
77
- append(array: string[], sql: string | string[], pad?: boolean): void;
78
- /** Returns SQL statements to create a table with all its columns, primary key, indexes, and checks. */
79
- createTable(table: DatabaseTable, alter?: boolean): string[];
80
- alterTableComment(table: DatabaseTable, comment?: string): string;
81
- /** Returns SQL to create a foreign key constraint on a table. */
82
- createForeignKey(table: DatabaseTable, foreignKey: ForeignKey, alterTable?: boolean, inline?: boolean): string;
83
- splitTableName(name: string, skipDefaultSchema?: boolean): [string | undefined, string];
84
- getReferencedTableName(referencedTableName: string, schema?: string): string;
85
- createIndex(index: IndexDef, table: DatabaseTable, createPrimary?: boolean): string;
86
- createCheck(table: DatabaseTable, check: CheckDef): string;
87
- /** @internal */
88
- getTableName(table: string, schema?: string): string;
89
- getTablesGroupedBySchemas(tables: Table[]): Map<string | undefined, Table[]>;
90
- get options(): NonNullable<Options['schemaGenerator']>;
91
- protected processComment(comment: string): string;
92
- protected quote(...keys: (string | undefined)[]): string;
93
- dropForeignKey(tableName: string, constraintName: string): string;
94
- dropIndex(table: string, index: IndexDef, oldIndexName?: string): string;
95
- dropConstraint(table: string, name: string): string;
96
- /** Returns SQL to drop a table if it exists. */
97
- dropTableIfExists(name: string, schema?: string): string;
98
- createView(name: string, schema: string | undefined, definition: string): string;
99
- dropViewIfExists(name: string, schema?: string): string;
100
- createMaterializedView(name: string, schema: string | undefined, definition: string, withData?: boolean): string;
101
- dropMaterializedViewIfExists(name: string, schema?: string): string;
102
- refreshMaterializedView(name: string, schema?: string, concurrently?: boolean): string;
103
- getListMaterializedViewsSQL(): string;
104
- loadMaterializedViews(schema: DatabaseSchema, connection: AbstractSqlConnection, schemaName?: string, ctx?: Transaction): Promise<void>;
15
+ protected readonly platform: AbstractSqlPlatform;
16
+ constructor(platform: AbstractSqlPlatform);
17
+ /** Returns SQL to prepend to schema migration scripts (e.g., disabling FK checks). */
18
+ getSchemaBeginning(_charset: string, disableForeignKeys?: boolean): string;
19
+ /** Returns SQL to disable foreign key checks. */
20
+ disableForeignKeysSQL(): string;
21
+ /** Returns SQL to re-enable foreign key checks. */
22
+ enableForeignKeysSQL(): string;
23
+ /** Returns SQL to append to schema migration scripts (e.g., re-enabling FK checks). */
24
+ getSchemaEnd(disableForeignKeys?: boolean): string;
25
+ finalizeTable(table: DatabaseTable, charset: string, collate?: string): string;
26
+ appendComments(table: DatabaseTable): string[];
27
+ supportsSchemaConstraints(): boolean;
28
+ getPrimaryKeys(
29
+ connection: AbstractSqlConnection,
30
+ indexes: IndexDef[] | undefined,
31
+ tableName: string,
32
+ schemaName?: string,
33
+ ): Promise<string[]>;
34
+ inferLengthFromColumnType(type: string): number | undefined;
35
+ protected getTableKey(t: Table): string;
36
+ getCreateNativeEnumSQL(name: string, values: unknown[], schema?: string): string;
37
+ getDropNativeEnumSQL(name: string, schema?: string): string;
38
+ getAlterNativeEnumSQL(name: string, schema?: string, value?: string, items?: string[], oldItems?: string[]): string;
39
+ /** Loads table metadata (columns, indexes, foreign keys) from the database information schema. */
40
+ abstract loadInformationSchema(
41
+ schema: DatabaseSchema,
42
+ connection: AbstractSqlConnection,
43
+ tables: Table[],
44
+ schemas?: string[],
45
+ ctx?: Transaction,
46
+ ): Promise<void>;
47
+ /** Returns the SQL query to list all tables in the database. */
48
+ getListTablesSQL(): string;
49
+ /** Retrieves all tables from the database. */
50
+ getAllTables(connection: AbstractSqlConnection, schemas?: string[], ctx?: Transaction): Promise<Table[]>;
51
+ getListViewsSQL(): string;
52
+ loadViews(
53
+ schema: DatabaseSchema,
54
+ connection: AbstractSqlConnection,
55
+ schemaName?: string,
56
+ ctx?: Transaction,
57
+ ): Promise<void>;
58
+ /** Returns SQL to rename a column in a table. */
59
+ getRenameColumnSQL(tableName: string, oldColumnName: string, to: Column, schemaName?: string): string;
60
+ /** Returns SQL to create an index on a table. */
61
+ getCreateIndexSQL(tableName: string, index: IndexDef): string;
62
+ /**
63
+ * Hook for adding driver-specific index options (e.g., fill factor for PostgreSQL).
64
+ */
65
+ protected getCreateIndexSuffix(_index: IndexDef): string;
66
+ /**
67
+ * Build the column list for an index, supporting advanced options like sort order, nulls ordering, and collation.
68
+ * Note: Prefix length is only supported by MySQL/MariaDB which override this method.
69
+ */
70
+ protected getIndexColumns(index: IndexDef): string;
71
+ /** Returns SQL to drop an index. */
72
+ getDropIndexSQL(tableName: string, index: IndexDef): string;
73
+ getRenameIndexSQL(tableName: string, index: IndexDef, oldIndexName: string): string[];
74
+ /** Returns SQL statements to apply a table difference (add/drop/alter columns, indexes, foreign keys). */
75
+ alterTable(diff: TableDifference, safe?: boolean): string[];
76
+ /** Returns SQL to add columns to an existing table. */
77
+ getAddColumnsSQL(table: DatabaseTable, columns: Column[]): string[];
78
+ getDropColumnsSQL(tableName: string, columns: Column[], schemaName?: string): string;
79
+ hasNonDefaultPrimaryKeyName(table: DatabaseTable): boolean;
80
+ castColumn(name: string, type: string): string;
81
+ alterTableColumn(column: Column, table: DatabaseTable, changedProperties: Set<string>): string[];
82
+ createTableColumn(column: Column, table: DatabaseTable, changedProperties?: Set<string>): string | undefined;
83
+ getPreAlterTable(tableDiff: TableDifference, safe: boolean): string[];
84
+ getPostAlterTable(tableDiff: TableDifference, safe: boolean): string[];
85
+ getChangeColumnCommentSQL(tableName: string, to: Column, schemaName?: string): string;
86
+ getNamespaces(connection: AbstractSqlConnection, ctx?: Transaction): Promise<string[]>;
87
+ protected mapIndexes(indexes: IndexDef[]): Promise<IndexDef[]>;
88
+ mapForeignKeys(fks: any[], tableName: string, schemaName?: string): Dictionary;
89
+ normalizeDefaultValue(
90
+ defaultValue: string | RawQueryFragment,
91
+ length?: number,
92
+ defaultValues?: Dictionary<string[]>,
93
+ ): string | number;
94
+ getCreateDatabaseSQL(name: string): string;
95
+ getDropDatabaseSQL(name: string): string;
96
+ getCreateNamespaceSQL(name: string): string;
97
+ getDropNamespaceSQL(name: string): string;
98
+ getDatabaseExistsSQL(name: string): string;
99
+ getDatabaseNotExistsError(dbName: string): string;
100
+ getManagementDbName(): string;
101
+ getDefaultEmptyString(): string;
102
+ databaseExists(connection: Connection, name: string): Promise<boolean>;
103
+ append(array: string[], sql: string | string[], pad?: boolean): void;
104
+ /** Returns SQL statements to create a table with all its columns, primary key, indexes, and checks. */
105
+ createTable(table: DatabaseTable, alter?: boolean): string[];
106
+ alterTableComment(table: DatabaseTable, comment?: string): string;
107
+ /** Returns SQL to create a foreign key constraint on a table. */
108
+ createForeignKey(table: DatabaseTable, foreignKey: ForeignKey, alterTable?: boolean, inline?: boolean): string;
109
+ splitTableName(name: string, skipDefaultSchema?: boolean): [string | undefined, string];
110
+ getReferencedTableName(referencedTableName: string, schema?: string): string;
111
+ createIndex(index: IndexDef, table: DatabaseTable, createPrimary?: boolean): string;
112
+ createCheck(table: DatabaseTable, check: CheckDef): string;
113
+ /** @internal */
114
+ getTableName(table: string, schema?: string): string;
115
+ getTablesGroupedBySchemas(tables: Table[]): Map<string | undefined, Table[]>;
116
+ get options(): NonNullable<Options['schemaGenerator']>;
117
+ protected processComment(comment: string): string;
118
+ protected quote(...keys: (string | undefined)[]): string;
119
+ dropForeignKey(tableName: string, constraintName: string): string;
120
+ dropIndex(table: string, index: IndexDef, oldIndexName?: string): string;
121
+ dropConstraint(table: string, name: string): string;
122
+ /** Returns SQL to drop a table if it exists. */
123
+ dropTableIfExists(name: string, schema?: string): string;
124
+ createView(name: string, schema: string | undefined, definition: string): string;
125
+ dropViewIfExists(name: string, schema?: string): string;
126
+ createMaterializedView(name: string, schema: string | undefined, definition: string, withData?: boolean): string;
127
+ dropMaterializedViewIfExists(name: string, schema?: string): string;
128
+ refreshMaterializedView(name: string, schema?: string, concurrently?: boolean): string;
129
+ getListMaterializedViewsSQL(): string;
130
+ loadMaterializedViews(
131
+ schema: DatabaseSchema,
132
+ connection: AbstractSqlConnection,
133
+ schemaName?: string,
134
+ ctx?: Transaction,
135
+ ): Promise<void>;
105
136
  }