@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
@@ -4,7 +4,7 @@ import type { ICriteriaNodeProcessOptions, IQueryBuilder } from '../typings.js';
4
4
  * @internal
5
5
  */
6
6
  export declare class ScalarCriteriaNode<T extends object> extends CriteriaNode<T> {
7
- process(qb: IQueryBuilder<T>, options?: ICriteriaNodeProcessOptions): any;
8
- willAutoJoin(qb: IQueryBuilder<T>, alias?: string, options?: ICriteriaNodeProcessOptions): boolean;
9
- private shouldJoin;
7
+ process(qb: IQueryBuilder<T>, options?: ICriteriaNodeProcessOptions): any;
8
+ willAutoJoin(qb: IQueryBuilder<T>, alias?: string, options?: ICriteriaNodeProcessOptions): boolean;
9
+ private shouldJoin;
10
10
  }
@@ -6,53 +6,60 @@ import { QueryBuilder } from './QueryBuilder.js';
6
6
  * @internal
7
7
  */
8
8
  export class ScalarCriteriaNode extends CriteriaNode {
9
- process(qb, options) {
10
- const matchPopulateJoins = options?.matchPopulateJoins ||
11
- (this.prop && [ReferenceKind.MANY_TO_ONE, ReferenceKind.ONE_TO_ONE].includes(this.prop.kind));
12
- const nestedAlias = qb.getAliasForJoinPath(this.getPath(options), { ...options, matchPopulateJoins });
13
- if (this.shouldJoin(qb, nestedAlias)) {
14
- const path = this.getPath();
15
- const parentPath = this.parent.getPath(); // the parent is always there, otherwise `shouldJoin` would return `false`
16
- const nestedAlias = qb.getAliasForJoinPath(path) || qb.getNextAlias(this.prop?.pivotEntity ?? this.entityName);
17
- const field = this.aliased(this.prop.name, options?.alias);
18
- const type = this.prop.kind === ReferenceKind.MANY_TO_MANY ? JoinType.pivotJoin : JoinType.leftJoin;
19
- qb.join(field, nestedAlias, undefined, type, path);
20
- // select the owner as virtual property when joining from 1:1 inverse side, but only if the parent is root entity
21
- if (this.prop.kind === ReferenceKind.ONE_TO_ONE &&
22
- !parentPath.includes('.') &&
23
- !qb.state.fields?.includes(field)) {
24
- qb.addSelect(field);
25
- }
26
- }
27
- if (this.payload instanceof QueryBuilder) {
28
- return this.payload.toRaw();
29
- }
30
- if (this.payload && typeof this.payload === 'object') {
31
- const keys = Object.keys(this.payload).filter(key => ARRAY_OPERATORS.includes(key) && Array.isArray(this.payload[key]));
32
- for (const key of keys) {
33
- this.payload[key] = JSON.stringify(this.payload[key]);
34
- }
35
- }
36
- return this.payload;
9
+ process(qb, options) {
10
+ const matchPopulateJoins =
11
+ options?.matchPopulateJoins ||
12
+ (this.prop && [ReferenceKind.MANY_TO_ONE, ReferenceKind.ONE_TO_ONE].includes(this.prop.kind));
13
+ const nestedAlias = qb.getAliasForJoinPath(this.getPath(options), { ...options, matchPopulateJoins });
14
+ if (this.shouldJoin(qb, nestedAlias)) {
15
+ const path = this.getPath();
16
+ const parentPath = this.parent.getPath(); // the parent is always there, otherwise `shouldJoin` would return `false`
17
+ const nestedAlias = qb.getAliasForJoinPath(path) || qb.getNextAlias(this.prop?.pivotEntity ?? this.entityName);
18
+ const field = this.aliased(this.prop.name, options?.alias);
19
+ const type = this.prop.kind === ReferenceKind.MANY_TO_MANY ? JoinType.pivotJoin : JoinType.leftJoin;
20
+ qb.join(field, nestedAlias, undefined, type, path);
21
+ // select the owner as virtual property when joining from 1:1 inverse side, but only if the parent is root entity
22
+ if (
23
+ this.prop.kind === ReferenceKind.ONE_TO_ONE &&
24
+ !parentPath.includes('.') &&
25
+ !qb.state.fields?.includes(field)
26
+ ) {
27
+ qb.addSelect(field);
28
+ }
37
29
  }
38
- willAutoJoin(qb, alias, options) {
39
- return this.shouldJoin(qb, alias);
30
+ if (this.payload instanceof QueryBuilder) {
31
+ return this.payload.toRaw();
40
32
  }
41
- shouldJoin(qb, nestedAlias) {
42
- if (!this.parent ||
43
- !this.prop ||
44
- (nestedAlias && [QueryType.SELECT, QueryType.COUNT].includes(qb.type ?? QueryType.SELECT))) {
45
- return false;
46
- }
47
- switch (this.prop.kind) {
48
- case ReferenceKind.ONE_TO_MANY:
49
- return true;
50
- case ReferenceKind.MANY_TO_MANY:
51
- return true;
52
- case ReferenceKind.ONE_TO_ONE:
53
- return !this.prop.owner;
54
- default:
55
- return false; // SCALAR, MANY_TO_ONE
56
- }
33
+ if (this.payload && typeof this.payload === 'object') {
34
+ const keys = Object.keys(this.payload).filter(
35
+ key => ARRAY_OPERATORS.includes(key) && Array.isArray(this.payload[key]),
36
+ );
37
+ for (const key of keys) {
38
+ this.payload[key] = JSON.stringify(this.payload[key]);
39
+ }
57
40
  }
41
+ return this.payload;
42
+ }
43
+ willAutoJoin(qb, alias, options) {
44
+ return this.shouldJoin(qb, alias);
45
+ }
46
+ shouldJoin(qb, nestedAlias) {
47
+ if (
48
+ !this.parent ||
49
+ !this.prop ||
50
+ (nestedAlias && [QueryType.SELECT, QueryType.COUNT].includes(qb.type ?? QueryType.SELECT))
51
+ ) {
52
+ return false;
53
+ }
54
+ switch (this.prop.kind) {
55
+ case ReferenceKind.ONE_TO_MANY:
56
+ return true;
57
+ case ReferenceKind.MANY_TO_MANY:
58
+ return true;
59
+ case ReferenceKind.ONE_TO_ONE:
60
+ return !this.prop.owner;
61
+ default:
62
+ return false; // SCALAR, MANY_TO_ONE
63
+ }
64
+ }
58
65
  }
package/query/enums.d.ts CHANGED
@@ -1,22 +1,22 @@
1
1
  /** Type of SQL query to be generated. */
2
2
  export declare enum QueryType {
3
- TRUNCATE = "TRUNCATE",
4
- SELECT = "SELECT",
5
- COUNT = "COUNT",
6
- INSERT = "INSERT",
7
- UPDATE = "UPDATE",
8
- DELETE = "DELETE",
9
- UPSERT = "UPSERT"
3
+ TRUNCATE = 'TRUNCATE',
4
+ SELECT = 'SELECT',
5
+ COUNT = 'COUNT',
6
+ INSERT = 'INSERT',
7
+ UPDATE = 'UPDATE',
8
+ DELETE = 'DELETE',
9
+ UPSERT = 'UPSERT',
10
10
  }
11
11
  /** Operators that apply to the embedded array column itself, not to individual elements. */
12
12
  export declare const EMBEDDABLE_ARRAY_OPS: string[];
13
13
  /** Type of SQL JOIN clause. */
14
14
  export declare enum JoinType {
15
- leftJoin = "left join",
16
- innerJoin = "inner join",
17
- nestedLeftJoin = "nested left join",
18
- nestedInnerJoin = "nested inner join",
19
- pivotJoin = "pivot join",
20
- innerJoinLateral = "inner join lateral",
21
- leftJoinLateral = "left join lateral"
15
+ leftJoin = 'left join',
16
+ innerJoin = 'inner join',
17
+ nestedLeftJoin = 'nested left join',
18
+ nestedInnerJoin = 'nested inner join',
19
+ pivotJoin = 'pivot join',
20
+ innerJoinLateral = 'inner join lateral',
21
+ leftJoinLateral = 'left join lateral',
22
22
  }
package/query/enums.js CHANGED
@@ -1,24 +1,24 @@
1
1
  /** Type of SQL query to be generated. */
2
2
  export var QueryType;
3
3
  (function (QueryType) {
4
- QueryType["TRUNCATE"] = "TRUNCATE";
5
- QueryType["SELECT"] = "SELECT";
6
- QueryType["COUNT"] = "COUNT";
7
- QueryType["INSERT"] = "INSERT";
8
- QueryType["UPDATE"] = "UPDATE";
9
- QueryType["DELETE"] = "DELETE";
10
- QueryType["UPSERT"] = "UPSERT";
4
+ QueryType['TRUNCATE'] = 'TRUNCATE';
5
+ QueryType['SELECT'] = 'SELECT';
6
+ QueryType['COUNT'] = 'COUNT';
7
+ QueryType['INSERT'] = 'INSERT';
8
+ QueryType['UPDATE'] = 'UPDATE';
9
+ QueryType['DELETE'] = 'DELETE';
10
+ QueryType['UPSERT'] = 'UPSERT';
11
11
  })(QueryType || (QueryType = {}));
12
12
  /** Operators that apply to the embedded array column itself, not to individual elements. */
13
13
  export const EMBEDDABLE_ARRAY_OPS = ['$contains', '$contained', '$overlap'];
14
14
  /** Type of SQL JOIN clause. */
15
15
  export var JoinType;
16
16
  (function (JoinType) {
17
- JoinType["leftJoin"] = "left join";
18
- JoinType["innerJoin"] = "inner join";
19
- JoinType["nestedLeftJoin"] = "nested left join";
20
- JoinType["nestedInnerJoin"] = "nested inner join";
21
- JoinType["pivotJoin"] = "pivot join";
22
- JoinType["innerJoinLateral"] = "inner join lateral";
23
- JoinType["leftJoinLateral"] = "left join lateral";
17
+ JoinType['leftJoin'] = 'left join';
18
+ JoinType['innerJoin'] = 'inner join';
19
+ JoinType['nestedLeftJoin'] = 'nested left join';
20
+ JoinType['nestedInnerJoin'] = 'nested inner join';
21
+ JoinType['pivotJoin'] = 'pivot join';
22
+ JoinType['innerJoinLateral'] = 'inner join lateral';
23
+ JoinType['leftJoinLateral'] = 'left join lateral';
24
24
  })(JoinType || (JoinType = {}));
package/query/raw.d.ts CHANGED
@@ -2,11 +2,11 @@ import { type AnyString, type Dictionary, type EntityKey, type RawQueryFragment
2
2
  import type { SelectQueryBuilder as KyselySelectQueryBuilder } from 'kysely';
3
3
  /** @internal Type for QueryBuilder instances passed to raw() - uses toRaw to distinguish from Kysely QueryBuilder */
4
4
  type QueryBuilderLike = {
5
- toQuery(): {
6
- sql: string;
7
- params: readonly unknown[];
8
- };
9
- toRaw(): RawQueryFragment;
5
+ toQuery(): {
6
+ sql: string;
7
+ params: readonly unknown[];
8
+ };
9
+ toRaw(): RawQueryFragment;
10
10
  };
11
11
  /**
12
12
  * Creates raw SQL query fragment that can be assigned to a property or part of a filter. This fragment is represented
@@ -63,5 +63,15 @@ type QueryBuilderLike = {
63
63
  * export class Author { ... }
64
64
  * ```
65
65
  */
66
- export declare function raw<R = RawQueryFragment & symbol, T extends object = any>(sql: QueryBuilderLike | KyselySelectQueryBuilder<any, any, any> | EntityKey<T> | EntityKey<T>[] | AnyString | ((alias: string) => string) | RawQueryFragment, params?: readonly unknown[] | Dictionary<unknown>): R;
66
+ export declare function raw<R = RawQueryFragment & symbol, T extends object = any>(
67
+ sql:
68
+ | QueryBuilderLike
69
+ | KyselySelectQueryBuilder<any, any, any>
70
+ | EntityKey<T>
71
+ | EntityKey<T>[]
72
+ | AnyString
73
+ | ((alias: string) => string)
74
+ | RawQueryFragment,
75
+ params?: readonly unknown[] | Dictionary<unknown>,
76
+ ): R;
67
77
  export {};
package/query/raw.js CHANGED
@@ -1,4 +1,4 @@
1
- import { raw as raw_, Utils, } from '@mikro-orm/core';
1
+ import { raw as raw_, Utils } from '@mikro-orm/core';
2
2
  /**
3
3
  * Creates raw SQL query fragment that can be assigned to a property or part of a filter. This fragment is represented
4
4
  * by `RawQueryFragment` class instance that can be serialized to a string, so it can be used both as an object value
@@ -55,13 +55,13 @@ import { raw as raw_, Utils, } from '@mikro-orm/core';
55
55
  * ```
56
56
  */
57
57
  export function raw(sql, params) {
58
- if (Utils.isObject(sql) && 'compile' in sql) {
59
- const query = sql.compile();
60
- return raw_(query.sql, query.parameters);
61
- }
62
- if (Utils.isObject(sql) && 'toQuery' in sql) {
63
- const query = sql.toQuery();
64
- return raw_(query.sql, query.params);
65
- }
66
- return raw_(sql, params);
58
+ if (Utils.isObject(sql) && 'compile' in sql) {
59
+ const query = sql.compile();
60
+ return raw_(query.sql, query.parameters);
61
+ }
62
+ if (Utils.isObject(sql) && 'toQuery' in sql) {
63
+ const query = sql.toQuery();
64
+ return raw_(query.sql, query.params);
65
+ }
66
+ return raw_(sql, params);
67
67
  }
@@ -7,54 +7,78 @@ import type { AbstractSqlPlatform } from '../AbstractSqlPlatform.js';
7
7
  * @internal
8
8
  */
9
9
  export declare class DatabaseSchema {
10
- #private;
11
- readonly name: string;
12
- constructor(platform: AbstractSqlPlatform, name: string);
13
- addTable(name: string, schema: string | undefined | null, comment?: string): DatabaseTable;
14
- getTables(): DatabaseTable[];
15
- /** @internal */
16
- setTables(tables: DatabaseTable[]): void;
17
- /** @internal */
18
- setNamespaces(namespaces: Set<string>): void;
19
- getTable(name: string): DatabaseTable | undefined;
20
- hasTable(name: string): boolean;
21
- addView(name: string, schema: string | undefined | null, definition: string, materialized?: boolean, withData?: boolean): DatabaseView;
22
- getViews(): DatabaseView[];
23
- /** @internal */
24
- setViews(views: DatabaseView[]): void;
25
- getView(name: string): DatabaseView | undefined;
26
- hasView(name: string): boolean;
27
- setNativeEnums(nativeEnums: Dictionary<{
28
- name: string;
29
- schema?: string;
30
- items: string[];
31
- }>): void;
32
- getNativeEnums(): Dictionary<{
33
- name: string;
34
- schema?: string;
35
- items: string[];
36
- }>;
37
- getNativeEnum(name: string): {
38
- name: string;
39
- schema?: string;
40
- items: string[];
41
- };
42
- hasNamespace(namespace: string): boolean;
43
- hasNativeEnum(name: string): boolean;
44
- getNamespaces(): string[];
45
- static create(connection: AbstractSqlConnection, platform: AbstractSqlPlatform, config: Configuration, schemaName?: string, schemas?: string[], takeTables?: (string | RegExp)[], skipTables?: (string | RegExp)[], skipViews?: (string | RegExp)[], ctx?: Transaction): Promise<DatabaseSchema>;
46
- static fromMetadata(metadata: EntityMetadata[], platform: AbstractSqlPlatform, config: Configuration, schemaName?: string, em?: any): DatabaseSchema;
47
- private static getViewDefinition;
48
- private static getSchemaName;
49
- /**
50
- * Add a foreign key from a TPT child entity's PK to its parent entity's PK.
51
- * This FK uses ON DELETE CASCADE to ensure child rows are deleted when parent is deleted.
52
- */
53
- private static addTPTForeignKey;
54
- private static matchName;
55
- private static isNameAllowed;
56
- private static isTableNameAllowed;
57
- private static shouldHaveColumn;
58
- toJSON(): Dictionary;
59
- prune(schema: string | undefined, wildcardSchemaTables: string[]): void;
10
+ #private;
11
+ readonly name: string;
12
+ constructor(platform: AbstractSqlPlatform, name: string);
13
+ addTable(name: string, schema: string | undefined | null, comment?: string): DatabaseTable;
14
+ getTables(): DatabaseTable[];
15
+ /** @internal */
16
+ setTables(tables: DatabaseTable[]): void;
17
+ /** @internal */
18
+ setNamespaces(namespaces: Set<string>): void;
19
+ getTable(name: string): DatabaseTable | undefined;
20
+ hasTable(name: string): boolean;
21
+ addView(
22
+ name: string,
23
+ schema: string | undefined | null,
24
+ definition: string,
25
+ materialized?: boolean,
26
+ withData?: boolean,
27
+ ): DatabaseView;
28
+ getViews(): DatabaseView[];
29
+ /** @internal */
30
+ setViews(views: DatabaseView[]): void;
31
+ getView(name: string): DatabaseView | undefined;
32
+ hasView(name: string): boolean;
33
+ setNativeEnums(
34
+ nativeEnums: Dictionary<{
35
+ name: string;
36
+ schema?: string;
37
+ items: string[];
38
+ }>,
39
+ ): void;
40
+ getNativeEnums(): Dictionary<{
41
+ name: string;
42
+ schema?: string;
43
+ items: string[];
44
+ }>;
45
+ getNativeEnum(name: string): {
46
+ name: string;
47
+ schema?: string;
48
+ items: string[];
49
+ };
50
+ hasNamespace(namespace: string): boolean;
51
+ hasNativeEnum(name: string): boolean;
52
+ getNamespaces(): string[];
53
+ static create(
54
+ connection: AbstractSqlConnection,
55
+ platform: AbstractSqlPlatform,
56
+ config: Configuration,
57
+ schemaName?: string,
58
+ schemas?: string[],
59
+ takeTables?: (string | RegExp)[],
60
+ skipTables?: (string | RegExp)[],
61
+ skipViews?: (string | RegExp)[],
62
+ ctx?: Transaction,
63
+ ): Promise<DatabaseSchema>;
64
+ static fromMetadata(
65
+ metadata: EntityMetadata[],
66
+ platform: AbstractSqlPlatform,
67
+ config: Configuration,
68
+ schemaName?: string,
69
+ em?: any,
70
+ ): DatabaseSchema;
71
+ private static getViewDefinition;
72
+ private static getSchemaName;
73
+ /**
74
+ * Add a foreign key from a TPT child entity's PK to its parent entity's PK.
75
+ * This FK uses ON DELETE CASCADE to ensure child rows are deleted when parent is deleted.
76
+ */
77
+ private static addTPTForeignKey;
78
+ private static matchName;
79
+ private static isNameAllowed;
80
+ private static isTableNameAllowed;
81
+ private static shouldHaveColumn;
82
+ toJSON(): Dictionary;
83
+ prune(schema: string | undefined, wildcardSchemaTables: string[]): void;
60
84
  }