@memberjunction/codegen-lib 6.1.0-edge.2 → 6.1.0-edge.4

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 (133) hide show
  1. package/LICENSE +180 -4
  2. package/README.md +89 -43
  3. package/dist/Angular/angular-codegen.d.ts +0 -8
  4. package/dist/Angular/angular-codegen.d.ts.map +1 -1
  5. package/dist/Angular/angular-codegen.js +32 -22
  6. package/dist/Angular/angular-codegen.js.map +1 -1
  7. package/dist/Angular/entity-data-grid-related-entity-component.js +2 -2
  8. package/dist/Angular/entity-data-grid-related-entity-component.js.map +1 -1
  9. package/dist/Angular/related-entity-components.d.ts +1 -1
  10. package/dist/Angular/related-entity-components.js +1 -1
  11. package/dist/Config/config.d.ts +118 -1
  12. package/dist/Config/config.d.ts.map +1 -1
  13. package/dist/Config/config.js +202 -8
  14. package/dist/Config/config.js.map +1 -1
  15. package/dist/Database/__tests__/exclude-schema-permissions.test.d.ts +2 -0
  16. package/dist/Database/__tests__/exclude-schema-permissions.test.d.ts.map +1 -0
  17. package/dist/Database/__tests__/exclude-schema-permissions.test.js +32 -0
  18. package/dist/Database/__tests__/exclude-schema-permissions.test.js.map +1 -0
  19. package/dist/Database/codeGenDatabaseProvider.d.ts +178 -2
  20. package/dist/Database/codeGenDatabaseProvider.d.ts.map +1 -1
  21. package/dist/Database/codeGenDatabaseProvider.js +175 -10
  22. package/dist/Database/codeGenDatabaseProvider.js.map +1 -1
  23. package/dist/Database/heal-schema-params.d.ts +33 -0
  24. package/dist/Database/heal-schema-params.d.ts.map +1 -0
  25. package/dist/Database/heal-schema-params.js +51 -0
  26. package/dist/Database/heal-schema-params.js.map +1 -0
  27. package/dist/Database/manage-metadata.d.ts +301 -2
  28. package/dist/Database/manage-metadata.d.ts.map +1 -1
  29. package/dist/Database/manage-metadata.js +1242 -96
  30. package/dist/Database/manage-metadata.js.map +1 -1
  31. package/dist/Database/materializationAnalysis.d.ts +241 -0
  32. package/dist/Database/materializationAnalysis.d.ts.map +1 -0
  33. package/dist/Database/materializationAnalysis.js +415 -0
  34. package/dist/Database/materializationAnalysis.js.map +1 -0
  35. package/dist/Database/materializationBroadRender.d.ts +67 -0
  36. package/dist/Database/materializationBroadRender.d.ts.map +1 -0
  37. package/dist/Database/materializationBroadRender.js +104 -0
  38. package/dist/Database/materializationBroadRender.js.map +1 -0
  39. package/dist/Database/materializationDrift.d.ts +59 -0
  40. package/dist/Database/materializationDrift.d.ts.map +1 -0
  41. package/dist/Database/materializationDrift.js +85 -0
  42. package/dist/Database/materializationDrift.js.map +1 -0
  43. package/dist/Database/materializationParamClassifier.d.ts +92 -0
  44. package/dist/Database/materializationParamClassifier.d.ts.map +1 -0
  45. package/dist/Database/materializationParamClassifier.js +224 -0
  46. package/dist/Database/materializationParamClassifier.js.map +1 -0
  47. package/dist/Database/materializationParamVerifier.d.ts +71 -0
  48. package/dist/Database/materializationParamVerifier.d.ts.map +1 -0
  49. package/dist/Database/materializationParamVerifier.js +302 -0
  50. package/dist/Database/materializationParamVerifier.js.map +1 -0
  51. package/dist/Database/materializationSqlAst.d.ts +78 -0
  52. package/dist/Database/materializationSqlAst.d.ts.map +1 -0
  53. package/dist/Database/materializationSqlAst.js +142 -0
  54. package/dist/Database/materializationSqlAst.js.map +1 -0
  55. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.d.ts +93 -56
  56. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.d.ts.map +1 -1
  57. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.js +399 -247
  58. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.js.map +1 -1
  59. package/dist/Database/providers/postgresql/__tests__/PostgreSQLCodeGenProvider.materialization.test.d.ts +2 -0
  60. package/dist/Database/providers/postgresql/__tests__/PostgreSQLCodeGenProvider.materialization.test.d.ts.map +1 -0
  61. package/dist/Database/providers/postgresql/__tests__/PostgreSQLCodeGenProvider.materialization.test.js +119 -0
  62. package/dist/Database/providers/postgresql/__tests__/PostgreSQLCodeGenProvider.materialization.test.js.map +1 -0
  63. package/dist/Database/providers/postgresql/__tests__/PostgreSQLHierarchyFunctions.test.d.ts +2 -0
  64. package/dist/Database/providers/postgresql/__tests__/PostgreSQLHierarchyFunctions.test.d.ts.map +1 -0
  65. package/dist/Database/providers/postgresql/__tests__/PostgreSQLHierarchyFunctions.test.js +155 -0
  66. package/dist/Database/providers/postgresql/__tests__/PostgreSQLHierarchyFunctions.test.js.map +1 -0
  67. package/dist/Database/providers/postgresql/__tests__/SoftPrimaryKeyIndex.test.d.ts +2 -0
  68. package/dist/Database/providers/postgresql/__tests__/SoftPrimaryKeyIndex.test.d.ts.map +1 -0
  69. package/dist/Database/providers/postgresql/__tests__/SoftPrimaryKeyIndex.test.js +110 -0
  70. package/dist/Database/providers/postgresql/__tests__/SoftPrimaryKeyIndex.test.js.map +1 -0
  71. package/dist/Database/providers/postgresql/metadataSupportObjects.js +78 -10
  72. package/dist/Database/providers/postgresql/metadataSupportObjects.js.map +1 -1
  73. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.d.ts +72 -1
  74. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.d.ts.map +1 -1
  75. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.js +322 -0
  76. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.js.map +1 -1
  77. package/dist/Database/providers/sqlserver/__tests__/BaseViewEmissionGoldenMaster.test.d.ts +2 -0
  78. package/dist/Database/providers/sqlserver/__tests__/BaseViewEmissionGoldenMaster.test.d.ts.map +1 -0
  79. package/dist/Database/providers/sqlserver/__tests__/BaseViewEmissionGoldenMaster.test.js +547 -0
  80. package/dist/Database/providers/sqlserver/__tests__/BaseViewEmissionGoldenMaster.test.js.map +1 -0
  81. package/dist/Database/providers/sqlserver/__tests__/BaseViewRegenDecision.test.d.ts +2 -0
  82. package/dist/Database/providers/sqlserver/__tests__/BaseViewRegenDecision.test.d.ts.map +1 -0
  83. package/dist/Database/providers/sqlserver/__tests__/BaseViewRegenDecision.test.js +721 -0
  84. package/dist/Database/providers/sqlserver/__tests__/BaseViewRegenDecision.test.js.map +1 -0
  85. package/dist/Database/providers/sqlserver/__tests__/SQLServerCodeGenProvider.materialization.test.d.ts +2 -0
  86. package/dist/Database/providers/sqlserver/__tests__/SQLServerCodeGenProvider.materialization.test.d.ts.map +1 -0
  87. package/dist/Database/providers/sqlserver/__tests__/SQLServerCodeGenProvider.materialization.test.js +78 -0
  88. package/dist/Database/providers/sqlserver/__tests__/SQLServerCodeGenProvider.materialization.test.js.map +1 -0
  89. package/dist/Database/providers/sqlserver/__tests__/SQLServerHierarchyTVF.test.d.ts +2 -0
  90. package/dist/Database/providers/sqlserver/__tests__/SQLServerHierarchyTVF.test.d.ts.map +1 -0
  91. package/dist/Database/providers/sqlserver/__tests__/SQLServerHierarchyTVF.test.js +155 -0
  92. package/dist/Database/providers/sqlserver/__tests__/SQLServerHierarchyTVF.test.js.map +1 -0
  93. package/dist/Database/providers/sqlserver/__tests__/SoftPrimaryKeyIndex.test.d.ts +2 -0
  94. package/dist/Database/providers/sqlserver/__tests__/SoftPrimaryKeyIndex.test.d.ts.map +1 -0
  95. package/dist/Database/providers/sqlserver/__tests__/SoftPrimaryKeyIndex.test.js +195 -0
  96. package/dist/Database/providers/sqlserver/__tests__/SoftPrimaryKeyIndex.test.js.map +1 -0
  97. package/dist/Database/schema-filters.d.ts +23 -0
  98. package/dist/Database/schema-filters.d.ts.map +1 -0
  99. package/dist/Database/schema-filters.js +42 -0
  100. package/dist/Database/schema-filters.js.map +1 -0
  101. package/dist/Database/schema-scope.d.ts.map +1 -1
  102. package/dist/Database/schema-scope.js +4 -0
  103. package/dist/Database/schema-scope.js.map +1 -1
  104. package/dist/Database/sql_codegen.d.ts +39 -5
  105. package/dist/Database/sql_codegen.d.ts.map +1 -1
  106. package/dist/Database/sql_codegen.js +176 -67
  107. package/dist/Database/sql_codegen.js.map +1 -1
  108. package/dist/EntityNameScanner/EntityNameScanner.d.ts.map +1 -1
  109. package/dist/EntityNameScanner/EntityNameScanner.js +33 -2
  110. package/dist/EntityNameScanner/EntityNameScanner.js.map +1 -1
  111. package/dist/Manifest/GenerateClassRegistrationsManifest.d.ts +8 -4
  112. package/dist/Manifest/GenerateClassRegistrationsManifest.d.ts.map +1 -1
  113. package/dist/Manifest/GenerateClassRegistrationsManifest.js +63 -20
  114. package/dist/Manifest/GenerateClassRegistrationsManifest.js.map +1 -1
  115. package/dist/Misc/action_subclasses_codegen.d.ts.map +1 -1
  116. package/dist/Misc/action_subclasses_codegen.js +4 -4
  117. package/dist/Misc/action_subclasses_codegen.js.map +1 -1
  118. package/dist/Misc/entity_subclasses_codegen.d.ts +61 -0
  119. package/dist/Misc/entity_subclasses_codegen.d.ts.map +1 -1
  120. package/dist/Misc/entity_subclasses_codegen.js +437 -158
  121. package/dist/Misc/entity_subclasses_codegen.js.map +1 -1
  122. package/dist/Misc/graphql_server_codegen.d.ts +4 -58
  123. package/dist/Misc/graphql_server_codegen.d.ts.map +1 -1
  124. package/dist/Misc/graphql_server_codegen.js +22 -236
  125. package/dist/Misc/graphql_server_codegen.js.map +1 -1
  126. package/dist/Misc/sql_logging.d.ts +25 -0
  127. package/dist/Misc/sql_logging.d.ts.map +1 -1
  128. package/dist/Misc/sql_logging.js +51 -8
  129. package/dist/Misc/sql_logging.js.map +1 -1
  130. package/dist/Misc/system_integrity.d.ts.map +1 -1
  131. package/dist/Misc/system_integrity.js +5 -0
  132. package/dist/Misc/system_integrity.js.map +1 -1
  133. package/package.json +30 -30
@@ -1,10 +1,10 @@
1
- import { TypeScriptTypeFromSQLType, Metadata, TypeScriptTypeFromSQLTypeWithNullableOption, getGraphQLTypeNameBase } from '@memberjunction/core';
1
+ import { TypeScriptTypeFromSQLType, TypeScriptTypeFromSQLTypeWithNullableOption, getGraphQLTypeNameBase } from '@memberjunction/core';
2
2
  import { IsBinarySQLType, IsBooleanSQLType, IsCurrencySQLType, IsDateSQLType, IsFloatSQLType, IsStringSQLType, IsUuidSQLType, } from '@memberjunction/sql-dialect';
3
3
  import fs from 'fs';
4
4
  import path from 'path';
5
5
  import { logError } from './status_logging.js';
6
- import { getExternalEntitySchemas, mjCoreSchema, resolveEntityPackageName } from '../Config/config.js';
7
- import { makeDir, sortBySequenceAndCreatedAt, sortRelatedEntities } from './util.js';
6
+ import { mjCoreSchema, resolveEntityPackageName } from '../Config/config.js';
7
+ import { makeDir, sortBySequenceAndCreatedAt } from './util.js';
8
8
  /**
9
9
  * This class is responsible for generating the GraphQL Server resolvers and types for the entities, you can sub-class this class to extend/modify the logic, make sure to use @memberjunction/global RegisterClass decorator
10
10
  * so that your class is used.
@@ -15,17 +15,11 @@ export class GraphQLServerGeneratorBase {
15
15
  }
16
16
  generateGraphQLServerCode(entities, outputDirectory, generatedEntitiesImportLibrary, excludeRelatedEntitiesExternalToSchema) {
17
17
  const isInternal = generatedEntitiesImportLibrary.trim().toLowerCase().startsWith('@memberjunction/');
18
- // Every entity in THIS call gets its ObjectType emitted inline into the single generated.ts, so this
19
- // set is exactly the set of types a reverse-relationship member may reference by bare name.
20
- const availability = {
21
- generatedEntityNames: new Set(entities.map((e) => e.Name.trim().toLowerCase())),
22
- isInternal,
23
- };
24
18
  let sRet = '';
25
19
  try {
26
20
  sRet = this.generateAllEntitiesServerFileHeader(entities, generatedEntitiesImportLibrary, isInternal);
27
21
  for (let i = 0; i < entities.length; ++i) {
28
- sRet += this.generateServerEntityString(entities[i], false, generatedEntitiesImportLibrary, excludeRelatedEntitiesExternalToSchema, availability);
22
+ sRet += this.generateServerEntityString(entities[i], false, generatedEntitiesImportLibrary, excludeRelatedEntitiesExternalToSchema);
29
23
  }
30
24
  makeDir(outputDirectory);
31
25
  fs.writeFileSync(path.join(outputDirectory, 'generated.ts'), sRet);
@@ -52,47 +46,6 @@ export class GraphQLServerGeneratorBase {
52
46
  getServerGraphQLTypeNameBase(entity) {
53
47
  return getGraphQLTypeNameBase(entity);
54
48
  }
55
- /**
56
- * True when the related entity's GraphQL ObjectType will NOT be declared in the file being
57
- * generated, so emitting a `@Field`/`@FieldResolver` that names it would not compile (TS2304).
58
- *
59
- * When `availability` is supplied (every in-tree caller supplies it), the decision is made against
60
- * the ACTUAL set of entities being generated into this file rather than inferred from schema or
61
- * package heuristics. That set is ground truth: a bare-name reference compiles iff the class is
62
- * emitted here, and the class is emitted here iff the entity was in the array handed to the
63
- * generator. Heuristics can only approximate that set — `runCodeGen` narrows the generated entities
64
- * by BOTH the `entityPackageName` schema→package map AND the `excludeSchemas`/inclusion filters, so
65
- * a predicate that models only the package map still emits uncompilable references for anything
66
- * dropped by the other filter (the linked-Open-App break: a base app generated alongside a
67
- * dependent app that foreign-keys into it).
68
- *
69
- * The one exception is a CORE (`__mj`) related entity in a NON-core file: it is absent from the
70
- * generated set but resolves through the `mj_core_schema_server_object_types` namespace import, so
71
- * it is always in scope. In the core file itself there is no such import (that file *is* the
72
- * module), so core related entities must satisfy set membership like everything else.
73
- *
74
- * `excludeRelatedEntitiesExternalToSchema` is honored first and unchanged: it asks for a
75
- * schema-scoped file, which is a narrower request than type availability.
76
- *
77
- * @param availability the types resolvable in this file; when omitted, falls back to the legacy
78
- * `entityPackageName` schema→package heuristic so that existing subclasses and
79
- * callers using the pre-availability signature keep their previous behavior.
80
- */
81
- isRelatedTypeOutOfScope(entity, relatedEntity, excludeRelatedEntitiesExternalToSchema, availability) {
82
- if (excludeRelatedEntitiesExternalToSchema && relatedEntity.SchemaName !== entity.SchemaName)
83
- return true;
84
- if (availability) {
85
- // Core types in a non-core file come from the namespace import, not a local declaration.
86
- if (relatedEntity.SchemaName === mjCoreSchema && !availability.isInternal)
87
- return false;
88
- return !availability.generatedEntityNames.has(relatedEntity.Name.trim().toLowerCase());
89
- }
90
- // Legacy path (no availability supplied): approximate the generated set from the package map.
91
- if (relatedEntity.SchemaName === mjCoreSchema)
92
- return false;
93
- const schema = relatedEntity.SchemaName.toLowerCase();
94
- return getExternalEntitySchemas().some((s) => s.toLowerCase() === schema);
95
- }
96
49
  /**
97
50
  * Generates the full server GraphQL type name for an entity (with suffix).
98
51
  * @param entity - The entity to generate the type name for
@@ -101,50 +54,30 @@ export class GraphQLServerGeneratorBase {
101
54
  getServerGraphQLTypeName(entity) {
102
55
  return this.getServerGraphQLTypeNameBase(entity) + this.GraphQLTypeSuffix;
103
56
  }
104
- generateServerEntityString(entity, includeFileHeader, generatedEntitiesImportLibrary, excludeRelatedEntitiesExternalToSchema, availability) {
57
+ generateServerEntityString(entity, includeFileHeader, generatedEntitiesImportLibrary, _excludeRelatedEntitiesExternalToSchema) {
105
58
  const isInternal = generatedEntitiesImportLibrary.trim().toLowerCase() === '@memberjunction/core-entities';
106
59
  let sEntityOutput = '';
107
60
  try {
108
- const md = new Metadata(); // global-provider-ok: codegen runs offline against a single provider
109
61
  const fields = sortBySequenceAndCreatedAt(entity.Fields);
110
62
  const serverGraphQLTypeName = this.getServerGraphQLTypeName(entity);
111
63
  if (includeFileHeader) {
112
64
  const resolvedLib = isInternal
113
65
  ? generatedEntitiesImportLibrary
114
66
  : resolveEntityPackageName(entity.SchemaName);
115
- sEntityOutput = this.generateEntitySpecificServerFileHeader(entity, resolvedLib, excludeRelatedEntitiesExternalToSchema, availability);
67
+ sEntityOutput = this.generateEntitySpecificServerFileHeader(entity, resolvedLib);
116
68
  }
117
69
  sEntityOutput += this.generateServerEntityHeader(entity, serverGraphQLTypeName);
118
70
  // now generate the fields by looping through the fields collection from the database
119
71
  for (let j = 0; j < fields.length; ++j) {
120
72
  sEntityOutput += this.generateServerField(fields[j]);
121
73
  }
122
- // Sort related entities by Sequence, then by __mj_CreatedAt for consistent ordering
123
- const sortedRelatedEntities = sortRelatedEntities(entity.RelatedEntities);
124
- for (let j = 0; j < sortedRelatedEntities.length; ++j) {
125
- const r = sortedRelatedEntities[j];
126
- const re = md.Entities.find((e) => e.Name.toLowerCase() === r.RelatedEntity.toLowerCase());
127
- // only include the relationship if we are IncludeInAPI for the related entity
128
- if (re.IncludeInAPI) {
129
- if (re.ExternalDataSourceID) {
130
- // Related entity is external (no MJ base view) — its resolver is skipped (see
131
- // generateServerGraphQLResolver), so skip the paired field declaration too for consistency.
132
- sEntityOutput += `// Relationship field to ${r.RelatedEntity} not generated: related entity is external (no local base view).\n`;
133
- }
134
- else if (this.isRelatedTypeOutOfScope(entity, re, excludeRelatedEntitiesExternalToSchema, availability)) {
135
- sEntityOutput += `// Relationship field to ${r.RelatedEntity} not generated: its GraphQL type is not declared in this file.\n`;
136
- }
137
- else {
138
- sEntityOutput += this.generateServerRelationship(md, sortedRelatedEntities[j], isInternal);
139
- }
140
- }
141
- else {
142
- sEntityOutput += `// Relationship to ${r.RelatedEntity} is not included in the API because it is not marked as IncludeInAPI\n`;
143
- }
144
- }
74
+ // Child-array GraphQL fields (`Foo_BarIDArray`) are deliberately not emitted.
75
+ // They resolved with per-parent `SELECT *` (N+1). Load children via RunView
76
+ // or DeclareRelatedRecords; mutation responses that already have the graph
77
+ // should put children on a hand-written result type.
145
78
  // finally, close it up with the footer
146
79
  sEntityOutput += this.generateServerEntityFooter(entity);
147
- sEntityOutput += this.generateServerGraphQLResolver(entity, serverGraphQLTypeName, excludeRelatedEntitiesExternalToSchema, isInternal, availability);
80
+ sEntityOutput += this.generateServerGraphQLResolver(entity, serverGraphQLTypeName);
148
81
  }
149
82
  catch (err) {
150
83
  logError(err);
@@ -163,7 +96,7 @@ export class GraphQLServerGeneratorBase {
163
96
  * >>> THE NEXT TIME THIS FILE IS GENERATED
164
97
  *
165
98
  **********************************************************************************/
166
- import { Arg, Ctx, Int, Query, Resolver, Field, Float, ObjectType, FieldResolver, Root, InputType, Mutation,
99
+ import { Arg, Ctx, Int, Query, Resolver, Field, Float, ObjectType, InputType, Mutation,
167
100
  PubSub, PubSubEngine, ResolverBase, RunViewByIDInput, RunViewByNameInput, RunDynamicViewInput,
168
101
  AppContext, KeyValuePairInput, DeleteOptionsInput, GraphQLTimestamp as Timestamp,
169
102
  GetReadOnlyProvider, GetReadWriteProvider, RestoreContextInput } from '@memberjunction/server';
@@ -205,8 +138,7 @@ ${this.generateEntityImports(entities, importLibrary, isInternal)}
205
138
  }
206
139
  return imports.join('\n');
207
140
  }
208
- generateEntitySpecificServerFileHeader(entity, importLibrary, excludeRelatedEntitiesExternalToSchema, availability) {
209
- const md = new Metadata(); // global-provider-ok: codegen runs offline against a single provider
141
+ generateEntitySpecificServerFileHeader(entity, importLibrary) {
210
142
  let sRet = `/********************************************************************************
211
143
  * ${entity.Name} TypeGraphQL Type Class Definition - AUTO GENERATED FILE
212
144
  *
@@ -221,24 +153,9 @@ import { MaxLength } from 'class-validator';
221
153
  import { Field, ${entity._floatCount > 0 ? 'Float, ' : ''}Int, ObjectType, GetReadOnlyProvider, GetReadWriteProvider } from '@memberjunction/server';
222
154
  import { ${`${entity.ClassName}Entity`} } from '${importLibrary}';
223
155
  `;
224
- // Sort related entities by Sequence, then by __mj_CreatedAt for consistent ordering
225
- const sortedRelatedEntities = sortRelatedEntities(entity.RelatedEntities);
226
- for (let i = 0; i < sortedRelatedEntities.length; ++i) {
227
- const r = sortedRelatedEntities[i];
228
- const re = md.Entities.find((e) => e.Name.toLowerCase() == r.RelatedEntity.toLowerCase());
229
- // This per-entity file imports each related type from a RELATIVE SIBLING file, so the rule here is
230
- // narrower than the field gate: a sibling file exists only for an entity generated in this run.
231
- // Core types are deliberately NOT sibling-imported — in a non-core file they resolve through the
232
- // `mj_core_schema_server_object_types` namespace import, so emitting `./MJUser` would break the
233
- // build. Hence set membership directly rather than isRelatedTypeOutOfScope.
234
- const emitSiblingImport = availability
235
- ? availability.generatedEntityNames.has(re.Name.trim().toLowerCase())
236
- : !this.isRelatedTypeOutOfScope(entity, re, excludeRelatedEntitiesExternalToSchema);
237
- if (emitSiblingImport) {
238
- const tableName = sortedRelatedEntities[i].RelatedEntityBaseTableCodeName;
239
- sRet += `\nimport ${tableName} from './${tableName}';`;
240
- }
241
- }
156
+ // Sibling imports for related GraphQL types used to exist so reverse-relationship
157
+ // `@Field(() => [Related_])` members could resolve. Those members are no longer
158
+ // emitted, so the imports would be unused.
242
159
  return sRet;
243
160
  }
244
161
  generateServerEntityHeader(entity, serverGraphQLTypeName) {
@@ -301,30 +218,7 @@ export class ${serverGraphQLTypeName} {`;
301
218
  }
302
219
  return '() => Int';
303
220
  }
304
- generateServerRelationship(md, r, isInternal) {
305
- const re = md.Entities.find((e) => e.Name.toLowerCase() === r.RelatedEntity.toLowerCase());
306
- const classPackagePrefix = re.SchemaName === mjCoreSchema && !isInternal ? 'mj_core_schema_server_object_types.' : '';
307
- const relatedTypeName = this.getServerGraphQLTypeName(re);
308
- const relatedClassName = classPackagePrefix + relatedTypeName;
309
- // create a code name that is the combination of the relatedentitycode name plus the relatedentityjoinfield that has spaces stripped
310
- // and replace all special characters with an underscore
311
- const uniqueCodeName = `${r.RelatedEntityCodeName}_${r.RelatedEntityJoinField.replace(/ /g, '')}`.replace(/[^a-zA-Z0-9]/g, '_');
312
- if (r.Type.toLowerCase().trim() == 'one to many') {
313
- return `
314
- @Field(() => [${relatedClassName}])
315
- ${uniqueCodeName}Array: ${relatedClassName}[]; // Link to ${r.RelatedEntityCodeName}
316
- `;
317
- }
318
- else {
319
- // many to many
320
- return `
321
- @Field(() => [${relatedClassName}])
322
- ${uniqueCodeName}Array: ${relatedClassName}[]; // Link to ${r.RelatedEntity}
323
- `;
324
- }
325
- }
326
- generateServerGraphQLResolver(entity, serverGraphQLTypeName, excludeRelatedEntitiesExternalToSchema, isInternal, availability) {
327
- const md = new Metadata(); // global-provider-ok: codegen runs offline against a single provider
221
+ generateServerGraphQLResolver(entity, serverGraphQLTypeName) {
328
222
  const typeNameBase = this.getServerGraphQLTypeNameBase(entity);
329
223
  let sRet = '';
330
224
  // we only generate resolvers for entities that have a primary key field
@@ -456,35 +350,11 @@ export class ${typeNameBase}Resolver${entity.CustomResolverAPI ? 'Base' : ''} ex
456
350
  `;
457
351
  }
458
352
  }
459
- // now, generate the FieldResolvers for each of the one-to-many relationships
460
- // Sort related entities by Sequence, then by __mj_CreatedAt for consistent ordering
461
- const sortedRelatedEntities = sortRelatedEntities(entity.RelatedEntities);
462
- for (let i = 0; i < sortedRelatedEntities.length; i++) {
463
- const r = sortedRelatedEntities[i];
464
- const re = md.Entities.find((e) => e.Name.toLowerCase() === r.RelatedEntity.toLowerCase());
465
- // only include the relationship if we are IncludeInAPI for the related entity
466
- if (re.IncludeInAPI) {
467
- if (re.ExternalDataSourceID) {
468
- // The related entity is external-data-source-backed: its field resolver would query
469
- // `SELECT * FROM <re.BaseView>`, but external entities have no MJ base view. Skip it rather
470
- // than emit a resolver that fails at runtime (external rows are reachable via that entity's
471
- // own RunView with a filter on the join column).
472
- sRet += `// Relationship to ${r.RelatedEntity} not generated: related entity is external (no local base view to query).\n`;
473
- }
474
- else if (this.isRelatedTypeOutOfScope(entity, re, excludeRelatedEntitiesExternalToSchema, availability)) {
475
- sRet += `// Relationship to ${r.RelatedEntity} not generated: its GraphQL type is not declared in this file.\n`;
476
- }
477
- else {
478
- if (r.Type.toLowerCase().trim() == 'many to many')
479
- sRet += this.generateManyToManyFieldResolver(entity, r);
480
- else
481
- sRet += this.generateOneToManyFieldResolver(entity, r, isInternal);
482
- }
483
- }
484
- else {
485
- sRet += `// Relationship to ${r.RelatedEntity} is not included in the API because it is not marked as IncludeInAPI\n`;
486
- }
487
- }
353
+ // Reverse-relationship FieldResolvers (`Foo_BarIDArray`) are not generated.
354
+ // They issued a per-parent `SELECT *` with no DataLoader and were unused in-tree.
355
+ // Load children via RunView or a DeclareRelatedRecords collection; for a
356
+ // mutation that already has the graph in memory, put the children on a
357
+ // hand-written result type (see QueryMutationResultType).
488
358
  // now do the mutations
489
359
  const sInputType = this.generateServerGraphQLInputType(entity);
490
360
  if (sInputType !== '') {
@@ -642,89 +512,5 @@ export class ${classPrefix}${typeNameBase}Input {`;
642
512
  }
643
513
  return sRet;
644
514
  }
645
- generateOneToManyFieldResolver(entity, r, isInternal) {
646
- const md = new Metadata(); // global-provider-ok: codegen runs offline against a single provider
647
- const re = md.EntityByName(r.RelatedEntity);
648
- const typeNameBase = this.getServerGraphQLTypeNameBase(entity);
649
- const instanceName = typeNameBase.toLowerCase() + this.GraphQLTypeSuffix;
650
- let filterFieldName = '';
651
- if (!r.EntityKeyField) {
652
- filterFieldName = entity.FirstPrimaryKey.CodeName;
653
- }
654
- else {
655
- const field = entity.Fields.find((f) => f.Name.trim().toLowerCase() === r.EntityKeyField.trim().toLowerCase());
656
- if (field) {
657
- filterFieldName = field.CodeName;
658
- }
659
- else {
660
- logError(`GenerateOneToManyFieldResolver: EntityRelationshipInfo Field ${r.EntityKeyField} not found in entity ${entity.Name} - check the relationship ${r.ID} and the EntityKeyField property`);
661
- return '';
662
- }
663
- }
664
- const filterField = entity.Fields.find((f) => f.CodeName.toLowerCase() === filterFieldName.toLowerCase());
665
- if (!filterField) {
666
- logError(`GenerateOneToManyFieldResolver: Field ${filterFieldName} not found in entity ${entity.Name} - check the relationship ${r.ID} and the EntityKeyField property`);
667
- return '';
668
- }
669
- const serverPackagePrefix = re.SchemaName === mjCoreSchema && !isInternal ? 'mj_core_schema_server_object_types.' : '';
670
- const relatedTypeName = this.getServerGraphQLTypeName(re);
671
- const serverClassName = serverPackagePrefix + relatedTypeName;
672
- // create a code name that is the combination of the relatedentitycode name plus the relatedentityjoinfield that has spaces stripped
673
- // and replace all special characters with an underscore
674
- const uniqueCodeName = `${r.RelatedEntityCodeName}_${r.RelatedEntityJoinField.replace(/ /g, '')}`.replace(/[^a-zA-Z0-9]/g, '_');
675
- return `
676
- @FieldResolver(() => [${serverClassName}])
677
- async ${uniqueCodeName}Array(@Root() ${instanceName}: ${typeNameBase + this.GraphQLTypeSuffix}, @Ctx() { userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine) {
678
- this.CheckUserReadPermissions('${r.RelatedEntity}', userPayload);
679
- const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
680
- const sSQL = \`SELECT * FROM \${provider.QuoteSchemaAndView(${this.schemaNameExpression(re)}, '${r.RelatedEntityBaseView}')} WHERE \${provider.QuoteIdentifier('${r.RelatedEntityJoinField}')}=\${provider.BuildParameterPlaceholder(0)} \` + this.getRowLevelSecurityWhereClause(provider, '${r.RelatedEntity}', userPayload, EntityPermissionType.Read, 'AND');
681
- const rows = await provider.ExecuteSQL(sSQL, [${instanceName}.${filterFieldName}], undefined, this.GetUserFromPayload(userPayload));
682
- const result = await this.ArrayMapFieldNamesToCodeNames('${r.RelatedEntity}', rows, this.GetUserFromPayload(userPayload));
683
- return result;
684
- }
685
- `;
686
- }
687
- generateManyToManyFieldResolver(entity, r) {
688
- const md = new Metadata(); // global-provider-ok: codegen runs offline against a single provider
689
- const re = md.Entities.find((e) => e.Name.toLowerCase() == r.RelatedEntity.toLowerCase());
690
- const typeNameBase = this.getServerGraphQLTypeNameBase(entity);
691
- const instanceName = typeNameBase.toLowerCase() + this.GraphQLTypeSuffix;
692
- let filterFieldName = '';
693
- if (!r.EntityKeyField) {
694
- filterFieldName = entity.FirstPrimaryKey.CodeName;
695
- }
696
- else {
697
- const field = entity.Fields.find((f) => f.Name.trim().toLowerCase() === r.EntityKeyField.trim().toLowerCase());
698
- if (field) {
699
- filterFieldName = field.CodeName;
700
- }
701
- else {
702
- logError(`GenerateManyToManyFieldResolver: EntityRelationshipInfo Field ${r.EntityKeyField} not found in entity ${entity.Name} - check the relationship ${r.ID} and the EntityKeyField property`);
703
- return '';
704
- }
705
- }
706
- const filterField = entity.Fields.find((f) => f.CodeName.toLowerCase() === filterFieldName.toLowerCase());
707
- if (!filterField) {
708
- logError(`GenerateManyToManyFieldResolver: Field ${filterFieldName} not found in entity ${entity.Name} - check the relationship ${r.ID} and the EntityKeyField property`);
709
- return '';
710
- }
711
- const serverPackagePrefix = re.SchemaName === mjCoreSchema ? 'mj_core_schema_server_object_types.' : '';
712
- const relatedTypeName = this.getServerGraphQLTypeName(re);
713
- const serverClassName = serverPackagePrefix + relatedTypeName;
714
- // create a code name that is the combination of the relatedentitycode name plus the relatedentityjoinfield that has spaces stripped
715
- // and replace all special characters with an underscore
716
- const uniqueCodeName = `${r.RelatedEntityCodeName}_${r.JoinEntityJoinField.replace(/ /g, '')}`.replace(/[^a-zA-Z0-9]/g, '_');
717
- return `
718
- @FieldResolver(() => [${serverClassName}])
719
- async ${uniqueCodeName}Array(@Root() ${instanceName}: ${typeNameBase + this.GraphQLTypeSuffix}, @Ctx() { userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine) {
720
- this.CheckUserReadPermissions('${r.RelatedEntity}', userPayload);
721
- const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
722
- const sSQL = \`SELECT * FROM \${provider.QuoteSchemaAndView(${this.schemaNameExpression(re)}, '${r.RelatedEntityBaseView}')} WHERE \${provider.QuoteIdentifier('${re.FirstPrimaryKey.Name}')} IN (SELECT \${provider.QuoteIdentifier('${r.JoinEntityInverseJoinField}')} FROM \${provider.QuoteSchemaAndView(${this.schemaNameExpression(re)}, '${r.JoinView}')} WHERE \${provider.QuoteIdentifier('${r.JoinEntityJoinField}')}=\${provider.BuildParameterPlaceholder(0)}) \` + this.getRowLevelSecurityWhereClause(provider, '${r.RelatedEntity}', userPayload, EntityPermissionType.Read, 'AND');
723
- const rows = await provider.ExecuteSQL(sSQL, [${instanceName}.${filterFieldName}], undefined, this.GetUserFromPayload(userPayload));
724
- const result = await this.ArrayMapFieldNamesToCodeNames('${r.RelatedEntity}', rows, this.GetUserFromPayload(userPayload));
725
- return result;
726
- }
727
- `;
728
- }
729
515
  }
730
516
  //# sourceMappingURL=graphql_server_codegen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"graphql_server_codegen.js","sourceRoot":"","sources":["../../src/Misc/graphql_server_codegen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graphql_server_codegen.js","sourceRoot":"","sources":["../../src/Misc/graphql_server_codegen.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,yBAAyB,EAAE,2CAA2C,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACnK,OAAO,EACH,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,eAAe,EACf,aAAa,GAChB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,0BAA0B,EAAE,MAAM,QAAQ,CAAC;AAE7D;;;GAGG;AACH,MAAM,OAAO,0BAA0B;IAAvC;QA8BY,uBAAkB,GAAG,GAAG,CAAC;IAihBrC,CAAC;IA9iBQ,yBAAyB,CAC9B,QAAsB,EACtB,eAAuB,EACvB,8BAAsC,EACtC,sCAA+C;QAE/C,MAAM,UAAU,GAAG,8BAA8B,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;QACtG,IAAI,IAAI,GAAW,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,mCAAmC,CAAC,QAAQ,EAAE,8BAA8B,EAAE,UAAU,CAAC,CAAC;YAEtG,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;gBACjD,IAAI,IAAI,IAAI,CAAC,0BAA0B,CACrC,QAAQ,CAAC,CAAC,CAAC,EACX,KAAK,EACL,8BAA8B,EAC9B,sCAAsC,CACvC,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,eAAe,CAAC,CAAC;YACzB,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,CAAC;YAEnE,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,CAAC,GAAa,CAAC,CAAC;YACxB,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAGD;;OAEG;IACH,IAAW,iBAAiB;QAC1B,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAED;;;;;;OAMG;IACO,4BAA4B,CAAC,MAAkB;QACvD,OAAO,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED;;;;OAIG;IACO,wBAAwB,CAAC,MAAkB;QACnD,OAAO,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC;IAC5E,CAAC;IAEM,0BAA0B,CAC/B,MAAkB,EAClB,iBAA0B,EAC1B,8BAAsC,EACtC,uCAAgD;QAEhD,MAAM,UAAU,GAAG,8BAA8B,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,+BAA+B,CAAC;QAC3G,IAAI,aAAa,GAAW,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,MAAM,GAAsB,0BAA0B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC5E,MAAM,qBAAqB,GAAW,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;YAE5E,IAAI,iBAAiB,EAAE,CAAC;gBACtB,MAAM,WAAW,GAAG,UAAU;oBAC5B,CAAC,CAAC,8BAA8B;oBAChC,CAAC,CAAC,wBAAwB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAChD,aAAa,GAAG,IAAI,CAAC,sCAAsC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YACnF,CAAC;YAED,aAAa,IAAI,IAAI,CAAC,0BAA0B,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;YAEhF,qFAAqF;YACrF,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;gBAC/C,aAAa,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACvD,CAAC;YAED,8EAA8E;YAC9E,4EAA4E;YAC5E,2EAA2E;YAC3E,qDAAqD;YAErD,uCAAuC;YACvC,aAAa,IAAI,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;YAEzD,aAAa,IAAI,IAAI,CAAC,6BAA6B,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;QACrF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,CAAC,GAAa,CAAC,CAAC;QAC1B,CAAC;gBAAS,CAAC;YACT,OAAO,aAAa,CAAC;QACvB,CAAC;IACH,CAAC;IAEM,mCAAmC,CAAC,QAAsB,EAAE,aAAqB,EAAE,UAAmB;QAC3G,IAAI,IAAI,GAAW;;;;;;;;;;;;;;;;EAiBrB,UAAU;YACR,CAAC,CAAC,kDAAkD;YACpD,CAAC,CAAC,8EACN;;;EAGE,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,aAAa,EAAE,UAAU,CAAC;KAC5D,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACO,qBAAqB,CAAC,QAAsB,EAAE,cAAsB,EAAE,UAAmB;QACjG,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,WAAW,CAAC;QAE9C,IAAI,UAAU,EAAE,CAAC;YACf,sDAAsD;YACtD,OAAO,YAAY,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,cAAc,IAAI,CAAC;QAC1G,CAAC;QAED,2CAA2C;QAC3C,MAAM,aAAa,GAAG,IAAI,GAAG,EAAoB,CAAC;QAClD,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC9B,MAAM,GAAG,GAAG,wBAAwB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACxD,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9C,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,SAAS,QAAQ,CAAC,CAAC;YAC3C,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACnC,CAAC;QAED,uCAAuC;QACvC,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,aAAa,EAAE,CAAC;YAC9C,OAAO,CAAC,IAAI,CAAC,YAAY,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAEM,sCAAsC,CAC3C,MAAkB,EAClB,aAAqB;QAErB,IAAI,IAAI,GAAW;IACnB,MAAM,CAAC,IAAI;;eAEA,IAAI,IAAI,EAAE,CAAC,cAAc,EAAE;;;;;;;;kBAQxB,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;WAC9C,GAAG,MAAM,CAAC,SAAS,QAAQ,YAAY,aAAa;KAC1D,CAAC;QACF,kFAAkF;QAClF,gFAAgF;QAChF,2CAA2C;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IAES,0BAA0B,CAAC,MAAkB,EAAE,qBAA6B;QACpF,IAAI,YAAY,GAAW,MAAM,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3F,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAEjF,OAAO;;;sBAGW,MAAM,CAAC,IAAI;;cAEnB,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,oBAAoB,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;eACzF,qBAAqB,IAAI,CAAC;IACvC,CAAC;IAES,0BAA0B,CAAC,MAAkB;QACrD,IAAI,CAAC,MAAM;YAAE,QAAQ,CAAC,oEAAoE,CAAC,CAAC;QAE5F,OAAO,KAAK,CAAC;IACf,CAAC;IAES,mBAAmB,CAAC,SAA0B;QACtD,MAAM,WAAW,GAAW,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;QACtE,iJAAiJ;QACjJ,MAAM,QAAQ,GAAW,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC;QAC/H,IAAI,YAAY,GAAW,EAAE,CAAC;QAC9B,IAAI,SAAS,CAAC,UAAU;YAAE,YAAY,IAAI,gBAAgB,CAAC;QAC3D,IAAI,SAAS,CAAC,WAAW,KAAK,IAAI,IAAI,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;YAC3E,YAAY,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,kBAAkB,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;QAE3H,OAAO;aACE,WAAW,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,SAAS,GAAG,CAAC,IAAI,WAAW,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,mBAAmB,GAAG,SAAS,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE;MAC5N,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,yBAAyB,CAAC,SAAS,CAAC,IAAI,CAAC;SACrF,CAAC;IACR,CAAC;IAED;;;;;;;;;;OAUG;IACO,yBAAyB,CAAC,SAA0B;QAC5D,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC;QAEzB,4EAA4E;QAC5E,6EAA6E;QAC7E,8EAA8E;QAC9E,IAAI,eAAe,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC;YAAE,OAAO,EAAE,CAAC;QAE5E,0DAA0D;QAC1D,IAAI,aAAa,CAAC,CAAC,CAAC;YAAE,OAAO,EAAE,CAAC;QAEhC,IAAI,gBAAgB,CAAC,CAAC,CAAC;YAAE,OAAO,eAAe,CAAC;QAEhD,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9C,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,+DAA+D;YACzF,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAES,6BAA6B,CACrC,MAAkB,EAClB,qBAA6B;QAE7B,MAAM,YAAY,GAAG,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC;QAC/D,IAAI,IAAI,GAAG,EAAE,CAAC;QAEd,wEAAwE;QACxE,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,wEAAwE;YACxE,MAAM,eAAe,GAAW,MAAM,CAAC,iBAAiB;gBACtD,CAAC,CAAC;wEAC8D,MAAM,CAAC,IAAI,MAAM,MAAM,CAAC,eAAe,CAAC,IAAI,GAAG;gBAC/G,CAAC,CAAC,EAAE,CAAC;YAEP,IAAI,GAAG;;kBAEK,MAAM,CAAC,IAAI;;;kBAGX,YAAY;oBACV,qBAAqB;eAC1B,qBAAqB;;;;;;;;;;;;;;;;;;;;;YAqBxB,qBAAqB;eAClB,YAAY,WAAW,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;sBACtD,YAAY;eACnB,YAAY;;;;;sBAKL,YAAY;eACnB,YAAY;;;;;sBAKL,YAAY;eACnB,YAAY;;8BAEG,MAAM,CAAC,IAAI;;MAEnC,CAAC;YACD,IAAI,eAAe,GAAG,EAAE,CAAC;YACzB,IAAI,WAAW,GAAG,EAAE,CAAC;YACrB,MAAM,YAAY,GAAa,EAAE,CAAC;YAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACnD,MAAM,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gBACjC,eAAe,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1D,iGAAiG;gBACjG,qGAAqG;gBACrG,mGAAmG;gBACnG,qGAAqG;gBACrG,oGAAoG;gBACpG,uGAAuG;gBACvG,MAAM,gBAAgB,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC;gBAC1G,eAAe,IAAI,SAAS,gBAAgB,YAAY,EAAE,CAAC,WAAW,IAAI,CAAC;gBAC3E,eAAe,IAAI,GAAG,EAAE,CAAC,QAAQ,KAAK,EAAE,CAAC,MAAM,EAAE,CAAC;gBAElD,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrD,WAAW,IAAI,gCAAgC,EAAE,CAAC,QAAQ,6CAA6C,CAAC,IAAI,CAAC;gBAC7G,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;YACjC,CAAC;YACD,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7C,mGAAmG;YACnG,gGAAgG;YAChG,sGAAsG;YACtG,MAAM,mBAAmB,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,iBAAiB,EAAE,CAAC,IAAI,aAAa,EAAE,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE5H,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;gBAChC,wFAAwF;gBACxF,uFAAuF;gBACvF,2FAA2F;gBAC3F,IAAI,IAAI;mBACG,qBAAqB;YAC5B,YAAY,IAAI,eAAe,6FAA6F,qBAAqB;yCACpH,MAAM,CAAC,IAAI;8FAC0C,eAAe;iDAC5D,mBAAmB;8CACtB,qBAAqB,MAAM,MAAM,CAAC,IAAI;;KAE/E,CAAC;YACA,CAAC;iBAAM,CAAC;gBACN,IAAI,IAAI;mBACG,qBAAqB;YAC5B,YAAY,IAAI,eAAe,6FAA6F,qBAAqB;yCACpH,MAAM,CAAC,IAAI;;sEAEkB,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,MAAM,MAAM,CAAC,QAAQ,aAAa,WAAW,wDAAwD,MAAM,CAAC,IAAI,qDAAqD,eAAe;wDACnO,YAAY;8DACN,MAAM,CAAC,IAAI;;;KAGpE,CAAC;YACA,CAAC;YACD,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;gBAC3B,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;oBAChC,gGAAgG;oBAChG,gGAAgG;oBAChG,6FAA6F;oBAC7F,0DAA0D;oBAC1D,IAAI,IAAI,eAAe,MAAM,CAAC,QAAQ,wFAAwF,YAAY,0CAA0C,CAAC;gBACvL,CAAC;qBAAM,CAAC;oBACN,oFAAoF;oBACpF,IAAI,IAAI;oBACE,qBAAqB;eAC1B,MAAM,CAAC,QAAQ;yCACW,MAAM,CAAC,IAAI;;sEAEkB,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,MAAM,MAAM,CAAC,QAAQ,0DAA0D,MAAM,CAAC,IAAI;;mEAE9H,MAAM,CAAC,IAAI;;;KAGzE,CAAC;gBACE,CAAC;YACH,CAAC;YAED,4EAA4E;YAC5E,kFAAkF;YAClF,yEAAyE;YACzE,uEAAuE;YACvE,0DAA0D;YAC1D,uBAAuB;YACvB,MAAM,UAAU,GAAW,IAAI,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAC;YACvE,IAAI,UAAU,KAAK,EAAE,EAAE,CAAC;gBACtB,oFAAoF;gBACpF,IAAI,IAAI,IAAI,CAAC,8BAA8B,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;YAC7E,CAAC;YACD,IAAI,IAAI,KAAK,CAAC;YACd,IAAI,UAAU,KAAK,EAAE,EAAE,CAAC;gBACtB,IAAI,GAAG,UAAU,GAAG,IAAI,CAAC,CAAC,mHAAmH;YAC/I,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACO,oBAAoB,CAAC,MAAkB;QAC/C,IAAI,MAAM,CAAC,UAAU,KAAK,YAAY,EAAE,CAAC;YACvC,OAAO,+CAA+C,CAAC,CAAC,qEAAqE;QAC/H,CAAC;QACD,OAAO,IAAI,MAAM,CAAC,UAAU,GAAG,CAAC;IAClC,CAAC;IAES,8BAA8B,CAAC,MAAkB;QACzD,IAAI,IAAI,GAAW,EAAE,CAAC;QACtB,IAAI,MAAM,CAAC,cAAc;YAAE,IAAI,IAAI,IAAI,CAAC,mCAAmC,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QACpG,IAAI,MAAM,CAAC,cAAc;YAAE,IAAI,IAAI,IAAI,CAAC,mCAAmC,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QACpG,OAAO,IAAI,CAAC;IACd,CAAC;IAES,mCAAmC,CAAC,MAAkB,EAAE,WAAgC,EAAE,qBAA8B;QAChI,MAAM,YAAY,GAAG,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC;QAC/D,IAAI,IAAI,GAAW,EAAE,CAAC;QACtB,IAAI,IAAI;;oBAEQ,MAAM,CAAC,IAAI;;;eAGhB,WAAW,GAAG,YAAY,SAAS,CAAC;QAC/C,2BAA2B;QAC3B,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YACjD,2FAA2F;YAC3F,MAAM,iBAAiB,GAAG,WAAW,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC;YACvE,qFAAqF;YACrF,MAAM,gBAAgB,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,cAAc,IAAI,MAAM,CAAC,WAAW,CAAC;YAC/E,OAAO,CAAC,iBAAiB,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,gBAAgB,CAAC;QAClF,CAAC,CAAC,CAAC;QAEH,uEAAuE;QACvE,MAAM,qBAAqB,GAAG,0BAA0B,CAAC,eAAe,CAAC,CAAC;QAE1E,0CAA0C;QAC1C,KAAK,MAAM,CAAC,IAAI,qBAAqB,EAAE,CAAC;YACtC,MAAM,kBAAkB,GAAW,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC;YACrE,iJAAiJ;YACjJ,MAAM,QAAQ,GAAW,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YAEvG,6KAA6K;YAC7K,4HAA4H;YAC5H,4GAA4G;YAC5G,MAAM,cAAc,GAAG,WAAW,KAAK,QAAQ,CAAC,CAAC;gBAC/C,qBAAqB,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;gBAC1C,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;YAC7H,MAAM,KAAK,GAAW,CAAC,CAAC,UAAU,IAAI,cAAc,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;YACjF,MAAM,sBAAsB,GAAW,kBAAkB,GAAG,CAAC,KAAK,KAAK,EAAE,IAAI,kBAAkB,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;YAC1H,IAAI,IAAI;aACH,sBAAsB;MAC7B,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,2CAA2C,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC;CAC/G,CAAC;QACE,CAAC;QAED,4GAA4G;QAC5G,+EAA+E;QAC/E,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,QAAQ,EAAE,CAAC;YAClD,IAAI,IAAI;;;CAGb,CAAC;QACE,CAAC;QAED,gFAAgF;QAChF,oFAAoF;QACpF,mFAAmF;QACnF,8EAA8E;QAC9E,mFAAmF;QACnF,IAAI,IAAI;;;CAGX,CAAC;QAEE,IAAI,IAAI;KACP,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAES,8BAA8B,CAAC,MAAkB,EAAE,qBAA6B;QACxF,MAAM,YAAY,GAAG,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC;QAC/D,IAAI,IAAI,GAAW,EAAE,CAAC;QAEtB,YAAY;QACZ,4GAA4G;QAC5G,EAAE;QACF,mGAAmG;QACnG,mGAAmG;QACnG,oGAAoG;QACpG,iGAAiG;QACjG,kGAAkG;QAClG,0DAA0D;QAC1D,IAAI,MAAM,CAAC,cAAc,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YACnD,6BAA6B;YAC7B,IAAI,IAAI;sBACQ,qBAAqB;kBACzB,YAAY;oCACM,YAAY,uBAAuB,YAAY;;;;;oCAK/C,MAAM,CAAC,IAAI;;SAEtC,CAAC;QACN,CAAC;QACD,IAAI,MAAM,CAAC,cAAc,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YACnD,4BAA4B;YAC5B,MAAM,eAAe,GAAW,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChG,IAAI,IAAI;sBACQ,qBAAqB;kBACzB,YAAY;oCACM,YAAY,uBAAuB,YAAY;;;;;oCAK/C,MAAM,CAAC,IAAI;;KAE1C,CAAC;QACF,CAAC;QACD,IAAI,MAAM,CAAC,cAAc,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YACnD,IAAI,eAAe,GAAG,EAAE,CAAC;YACzB,IAAI,kBAAkB,GAAG,EAAE,CAAC;YAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACnD,MAAM,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gBACjC,eAAe,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1D,qGAAqG;gBACrG,oGAAoG;gBACpG,uFAAuF;gBACvF,MAAM,gBAAgB,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC;gBAC1G,eAAe,IAAI,SAAS,gBAAgB,YAAY,EAAE,CAAC,WAAW,IAAI,CAAC;gBAC3E,eAAe,IAAI,GAAG,EAAE,CAAC,QAAQ,KAAK,EAAE,CAAC,MAAM,EAAE,CAAC;gBAElD,kBAAkB,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChE,kBAAkB,IAAI,gBAAgB,EAAE,CAAC,IAAI,aAAa,EAAE,CAAC,QAAQ,GAAG,CAAC;YAC3E,CAAC;YAED,IAAI,IAAI;sBACQ,qBAAqB;kBACzB,YAAY,IAAI,eAAe;;wCAET,kBAAkB;oCACtB,MAAM,CAAC,IAAI;;KAE1C,CAAC;QACF,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -7,6 +7,31 @@ export declare class SQLLogging {
7
7
  private static _OmitRecurringScriptsFromLog;
8
8
  static get SQLLoggingFilePath(): string;
9
9
  static get OmitRecurringScriptsFromLog(): boolean;
10
+ /**
11
+ * Rewrites the migrations-root segment of a path to `migrations-pg`.
12
+ *
13
+ * Matching on a path SEGMENT rather than a prefix is what makes this reliable. The original
14
+ * code exact-matched the single string `'./migrations/v5/'`, so once the repo moved to v6 an
15
+ * ordinary `'./migrations/v6/'` stopped matching and PostgreSQL CodeGen wrote its audit SQL
16
+ * into the SQL Server tree — silently. Anchoring at the start of the string fixes that case
17
+ * but still misses an absolute path (`/repo/migrations/v6/`, which is what `path.resolve` on
18
+ * a config value produces) and a Windows separator (`.\migrations\v6\`).
19
+ *
20
+ * Only the LAST such segment is rewritten, and the match is not global. Rewriting every
21
+ * occurrence is wrong twice over: a checkout that itself lives under a directory named
22
+ * `migrations` (`/Users/x/migrations/mj/migrations/v6/`) would have its ANCESTOR rewritten
23
+ * too, and `initSQLLogging` then `mkdirSync`s the result — silently fabricating a tree
24
+ * outside the repo and writing the audit SQL into it, which is precisely the misroute this
25
+ * helper exists to prevent. It also made the function non-idempotent for adjacent segments,
26
+ * because a shared separator stops two neighbours matching in one pass.
27
+ *
28
+ * Paths with no `migrations` segment are returned untouched — an explicit override elsewhere
29
+ * on disk is honored as-is, which is the documented behaviour. `migrations-pg` is already the
30
+ * destination and is left alone, so the function is idempotent.
31
+ *
32
+ * Public so the routing can be unit-tested without a CodeGen run.
33
+ */
34
+ static redirectToPGMigrations(folderPath: string): string;
10
35
  static initSQLLogging(): void;
11
36
  static finishSQLLogging(): void;
12
37
  protected static createFileName(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"sql_logging.d.ts","sourceRoot":"","sources":["../../src/Misc/sql_logging.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AASxE;;GAEG;AACH,qBAAa,UAAU;IACnB,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAc;IAChD,OAAO,CAAC,MAAM,CAAC,4BAA4B,CAAkB;IAE7D,WAAkB,kBAAkB,IAAI,MAAM,CAE7C;IACD,WAAkB,2BAA2B,IAAI,OAAO,CAEvD;WACa,cAAc;WA6Cb,gBAAgB;IAa9B,SAAS,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM;IAe1C;;;;;;OAMG;IACH;;;;;;;;OAQG;WACiB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,iBAAiB,GAAE,OAAe,EAAE,qBAAqB,GAAE,OAAe,EAAE,cAAc,GAAE,MAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IA8CxM;;;;;;;;;MASE;WACkB,gBAAgB,CAAC,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,iBAAiB,GAAE,OAAe,EAAE,qBAAqB,GAAE,OAAe,EAAE,cAAc,GAAE,MAAa,GAAG,OAAO,CAAC,GAAG,CAAC;IAMzN,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAUxD,SAAS,CAAC,MAAM,CAAC,2BAA2B,IAAI,IAAI;IAyBnD;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;CAG9B"}
1
+ {"version":3,"file":"sql_logging.d.ts","sourceRoot":"","sources":["../../src/Misc/sql_logging.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAMxE;;GAEG;AACH,qBAAa,UAAU;IACnB,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAc;IAChD,OAAO,CAAC,MAAM,CAAC,4BAA4B,CAAkB;IAE7D,WAAkB,kBAAkB,IAAI,MAAM,CAE7C;IACD,WAAkB,2BAA2B,IAAI,OAAO,CAEvD;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;WACW,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;WAwBlD,cAAc;WA2Cb,gBAAgB;IAa9B,SAAS,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM;IAe1C;;;;;;OAMG;IACH;;;;;;;;OAQG;WACiB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,iBAAiB,GAAE,OAAe,EAAE,qBAAqB,GAAE,OAAe,EAAE,cAAc,GAAE,MAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IA8CxM;;;;;;;;;MASE;WACkB,gBAAgB,CAAC,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,iBAAiB,GAAE,OAAe,EAAE,qBAAqB,GAAE,OAAe,EAAE,cAAc,GAAE,MAAa,GAAG,OAAO,CAAC,GAAG,CAAC;IAMzN,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAUxD,SAAS,CAAC,MAAM,CAAC,2BAA2B,IAAI,IAAI;IAyBnD;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;CAG9B"}
@@ -2,8 +2,6 @@ import { configInfo, mj_core_schema, dbPlatform } from "../Config/config.js";
2
2
  import { logError, logStatus } from "./status_logging.js";
3
3
  import * as fs from 'fs';
4
4
  import path from 'path';
5
- const DEFAULT_SS_SQL_OUTPUT_FOLDER = './migrations/v5/';
6
- const DEFAULT_PG_SQL_OUTPUT_FOLDER = './migrations-pg/v5/';
7
5
  /**
8
6
  * Utility class for logging SQL to a run file that can be fresh for each run or appended to depending on the settings in the configuration
9
7
  */
@@ -16,6 +14,53 @@ export class SQLLogging {
16
14
  static get OmitRecurringScriptsFromLog() {
17
15
  return SQLLogging._OmitRecurringScriptsFromLog;
18
16
  }
17
+ /**
18
+ * Rewrites the migrations-root segment of a path to `migrations-pg`.
19
+ *
20
+ * Matching on a path SEGMENT rather than a prefix is what makes this reliable. The original
21
+ * code exact-matched the single string `'./migrations/v5/'`, so once the repo moved to v6 an
22
+ * ordinary `'./migrations/v6/'` stopped matching and PostgreSQL CodeGen wrote its audit SQL
23
+ * into the SQL Server tree — silently. Anchoring at the start of the string fixes that case
24
+ * but still misses an absolute path (`/repo/migrations/v6/`, which is what `path.resolve` on
25
+ * a config value produces) and a Windows separator (`.\migrations\v6\`).
26
+ *
27
+ * Only the LAST such segment is rewritten, and the match is not global. Rewriting every
28
+ * occurrence is wrong twice over: a checkout that itself lives under a directory named
29
+ * `migrations` (`/Users/x/migrations/mj/migrations/v6/`) would have its ANCESTOR rewritten
30
+ * too, and `initSQLLogging` then `mkdirSync`s the result — silently fabricating a tree
31
+ * outside the repo and writing the audit SQL into it, which is precisely the misroute this
32
+ * helper exists to prevent. It also made the function non-idempotent for adjacent segments,
33
+ * because a shared separator stops two neighbours matching in one pass.
34
+ *
35
+ * Paths with no `migrations` segment are returned untouched — an explicit override elsewhere
36
+ * on disk is honored as-is, which is the documented behaviour. `migrations-pg` is already the
37
+ * destination and is left alone, so the function is idempotent.
38
+ *
39
+ * Public so the routing can be unit-tested without a CodeGen run.
40
+ */
41
+ static redirectToPGMigrations(folderPath) {
42
+ // Split on either separator so a Windows-style path is handled without normalizing the
43
+ // whole string (which would rewrite the caller's separators as a side effect).
44
+ const segments = folderPath.split(/([\\/])/);
45
+ // Already inside the PostgreSQL tree — nothing to do. This check is what makes the
46
+ // function idempotent, and it is not redundant with the loop below: after one rewrite the
47
+ // path may STILL contain an earlier `migrations` segment (an ancestor directory that
48
+ // happens to be named that), and a second application would walk left and rewrite the
49
+ // ancestor too.
50
+ if (segments.includes('migrations-pg'))
51
+ return folderPath;
52
+ // Rewrite only the LAST `migrations` segment — the migrations root, not an ancestor that
53
+ // shares its name. Rewriting an ancestor sends the audit SQL to a path that does not
54
+ // exist, and `initSQLLogging` mkdirSync's it, silently fabricating a tree outside the
55
+ // repo: exactly the misroute this helper exists to prevent.
56
+ for (let i = segments.length - 1; i >= 0; i--) {
57
+ if (segments[i] === 'migrations') {
58
+ segments[i] = 'migrations-pg';
59
+ return segments.join('');
60
+ }
61
+ }
62
+ return folderPath;
63
+ }
19
64
  static initSQLLogging() {
20
65
  SQLLogging._OmitRecurringScriptsFromLog = configInfo.SQLOutput.omitRecurringScriptsFromLog;
21
66
  if (!SQLLogging.SQLLoggingFilePath) {
@@ -28,13 +73,11 @@ export class SQLLogging {
28
73
  if (!config.enabled)
29
74
  return; // we are not doing anything here....
30
75
  if (config.folderPath) {
31
- // On PostgreSQL, swap the default SQL Server output folder for the
32
- // PG-equivalent so CodeGen audit SQL lands in migrations-pg/v5/ alongside
33
- // the rest of the PG tooling. Users who explicitly override folderPath are
34
- // honored as-is.
76
+ // On PostgreSQL, redirect the migrations root so CodeGen audit SQL lands in
77
+ // migrations-pg/ alongside the rest of the PG tooling.
35
78
  let folderPath = config.folderPath;
36
- if (dbPlatform() === 'postgresql' && folderPath === DEFAULT_SS_SQL_OUTPUT_FOLDER) {
37
- folderPath = DEFAULT_PG_SQL_OUTPUT_FOLDER;
79
+ if (dbPlatform() === 'postgresql') {
80
+ folderPath = SQLLogging.redirectToPGMigrations(folderPath);
38
81
  }
39
82
  const dirExists = fs.existsSync(folderPath);
40
83
  if (!dirExists) {
@@ -1 +1 @@
1
- {"version":3,"file":"sql_logging.js","sourceRoot":"","sources":["../../src/Misc/sql_logging.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sql_logging.js","sourceRoot":"","sources":["../../src/Misc/sql_logging.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"system_integrity.d.ts","sourceRoot":"","sources":["../../src/Misc/system_integrity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAKxE,MAAM,MAAM,oBAAoB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACnB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACnE,CAAA;AAyBD;;;GAGG;AACH,qBAAa,mBAAmB;IAC5B,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAM7B;IAEF;;;;OAIG;WACiB,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,GAAE,OAAc,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAoClJ;;;;;;OAMG;WACiB,yBAAyB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAIrG;;;;;OAKG;WACiB,8BAA8B,CAAC,IAAI,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;qBAIvG,iCAAiC,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAgFnI"}
1
+ {"version":3,"file":"system_integrity.d.ts","sourceRoot":"","sources":["../../src/Misc/system_integrity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAKxE,MAAM,MAAM,oBAAoB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACnB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACnE,CAAA;AAyBD;;;GAGG;AACH,qBAAa,mBAAmB;IAC5B,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAM7B;IAEF;;;;OAIG;WACiB,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,GAAE,OAAc,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAoClJ;;;;;;OAMG;WACiB,yBAAyB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAIrG;;;;;OAKG;WACiB,8BAA8B,CAAC,IAAI,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;qBAIvG,iCAAiC,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAwFnI"}
@@ -106,7 +106,12 @@ export class SystemIntegrityBase {
106
106
  let lastEntity = "";
107
107
  // loop through all the fields. Each time the entity changes, check to see if there are any duplicate fields
108
108
  // that has the same sequence number and flag that as an error.
109
+ const excludedSchemas = new Set((configInfo.excludeSchemas ?? []).map((s) => s.toLowerCase()));
109
110
  for (const row of result) {
111
+ if (excludedSchemas.has(String(row.SchemaName ?? '').toLowerCase())) {
112
+ lastEntity = row.Entity;
113
+ continue;
114
+ }
110
115
  if (lastEntity !== row.Entity) {
111
116
  // we have a new entity, check all the fields in this entity
112
117
  // eslint-disable-next-line @typescript-eslint/no-explicit-any