@memberjunction/integration-schema-builder 5.15.0 → 5.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/SchemaBuilder.d.ts +51 -6
- package/dist/SchemaBuilder.d.ts.map +1 -1
- package/dist/SchemaBuilder.js +172 -28
- package/dist/SchemaBuilder.js.map +1 -1
- package/dist/SchemaEvolution.d.ts.map +1 -1
- package/dist/SchemaEvolution.js +16 -2
- package/dist/SchemaEvolution.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/interfaces.d.ts +2 -0
- package/dist/interfaces.d.ts.map +1 -1
- package/package.json +4 -3
package/dist/SchemaBuilder.d.ts
CHANGED
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* SchemaBuilder — orchestrates the full schema generation pipeline.
|
|
3
|
-
*
|
|
2
|
+
* SchemaBuilder — orchestrates the full schema generation pipeline for integrations.
|
|
3
|
+
* Thin wrapper around @memberjunction/schema-engine: converts integration-specific
|
|
4
|
+
* types (TargetTableConfig) to generic TableDefinition, delegates DDL generation
|
|
5
|
+
* to SchemaEngine, then adds integration-specific artifacts (soft FKs, metadata).
|
|
4
6
|
*/
|
|
5
7
|
import type { SchemaBuilderInput, SchemaBuilderOutput } from './interfaces.js';
|
|
8
|
+
import { type RSUPipelineInput, type RSUPipelineResult } from '@memberjunction/schema-engine';
|
|
6
9
|
/**
|
|
7
10
|
* Main entry point for the Integration Schema Builder.
|
|
8
|
-
*
|
|
11
|
+
* Delegates DDL generation to @memberjunction/schema-engine and adds
|
|
12
|
+
* integration-specific artifacts (sync columns, soft FKs, metadata files).
|
|
9
13
|
*/
|
|
10
14
|
export declare class SchemaBuilder {
|
|
11
|
-
private readonly
|
|
12
|
-
private readonly MigrationWriter;
|
|
15
|
+
private readonly Engine;
|
|
13
16
|
private readonly SoftFKEmitter;
|
|
14
17
|
private readonly MetaEmitter;
|
|
15
18
|
private readonly Evolution;
|
|
@@ -17,11 +20,53 @@ export declare class SchemaBuilder {
|
|
|
17
20
|
* Build all artifacts for a set of integration target tables.
|
|
18
21
|
*/
|
|
19
22
|
BuildSchema(input: SchemaBuilderInput): SchemaBuilderOutput;
|
|
23
|
+
/**
|
|
24
|
+
* Build schema artifacts AND execute the full Runtime Schema Update pipeline.
|
|
25
|
+
*
|
|
26
|
+
* This is the end-to-end integration flow:
|
|
27
|
+
* 1. Call BuildSchema() to generate migration SQL, soft FK config, and metadata
|
|
28
|
+
* 2. Feed the output into RuntimeSchemaManager.RunPipeline()
|
|
29
|
+
* 3. Pipeline executes: migration → CodeGen → compile → restart MJAPI → git commit/PR
|
|
30
|
+
*
|
|
31
|
+
* Returns both the SchemaBuilderOutput and the RSU pipeline result.
|
|
32
|
+
*
|
|
33
|
+
* @param input — Standard SchemaBuilderInput
|
|
34
|
+
* @param rsuOptions — Optional overrides for the RSU pipeline (e.g., SkipGitCommit, SkipRestart)
|
|
35
|
+
*/
|
|
36
|
+
RunSchemaPipeline(input: SchemaBuilderInput, rsuOptions?: {
|
|
37
|
+
SkipGitCommit?: boolean;
|
|
38
|
+
SkipRestart?: boolean;
|
|
39
|
+
}): Promise<{
|
|
40
|
+
SchemaOutput: SchemaBuilderOutput;
|
|
41
|
+
PipelineResult: RSUPipelineResult;
|
|
42
|
+
}>;
|
|
43
|
+
/**
|
|
44
|
+
* Convert SchemaBuilderOutput into an RSUPipelineInput suitable for
|
|
45
|
+
* RuntimeSchemaManager.RunPipeline().
|
|
46
|
+
*/
|
|
47
|
+
BuildRSUInput(schemaOutput: SchemaBuilderOutput, input: SchemaBuilderInput, rsuOptions?: {
|
|
48
|
+
SkipGitCommit?: boolean;
|
|
49
|
+
SkipRestart?: boolean;
|
|
50
|
+
}): RSUPipelineInput;
|
|
51
|
+
/**
|
|
52
|
+
* Convert an integration TargetTableConfig to a generic TableDefinition.
|
|
53
|
+
* Adds integration-specific sync columns via AdditionalColumns.
|
|
54
|
+
*/
|
|
55
|
+
private ConvertToTableDefinition;
|
|
56
|
+
/** Convert a TargetColumnConfig to a generic ColumnDefinition. */
|
|
57
|
+
private ConvertColumn;
|
|
58
|
+
/** Integration-specific sync columns added to every integration table. */
|
|
59
|
+
private IntegrationSyncColumns;
|
|
60
|
+
/**
|
|
61
|
+
* Extract DDL body from a wrapped migration file (strips the header comments).
|
|
62
|
+
* SchemaEngine wraps DDL in a migration header — we need just the DDL
|
|
63
|
+
* since we produce our own single consolidated migration file.
|
|
64
|
+
*/
|
|
65
|
+
private ReadFileIfExists;
|
|
20
66
|
private ValidateAccessControl;
|
|
21
67
|
private CheckCollisions;
|
|
22
68
|
private ClassifyConfigs;
|
|
23
69
|
private GetUniqueSchemas;
|
|
24
70
|
private CollectSoftFKs;
|
|
25
|
-
private MakeMigrationMeta;
|
|
26
71
|
}
|
|
27
72
|
//# sourceMappingURL=SchemaBuilder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaBuilder.d.ts","sourceRoot":"","sources":["../src/SchemaBuilder.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"SchemaBuilder.d.ts","sourceRoot":"","sources":["../src/SchemaBuilder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAIR,kBAAkB,EAClB,mBAAmB,EAItB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAQH,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACzB,MAAM,+BAA+B,CAAC;AAOvC;;;;GAIG;AACH,qBAAa,aAAa;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAC7C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA6B;IAC3D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyB;IACrD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IAEnD;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,kBAAkB,GAAG,mBAAmB;IAoH3D;;;;;;;;;;;;OAYG;IACG,iBAAiB,CACnB,KAAK,EAAE,kBAAkB,EACzB,UAAU,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAChE,OAAO,CAAC;QAAE,YAAY,EAAE,mBAAmB,CAAC;QAAC,cAAc,EAAE,iBAAiB,CAAA;KAAE,CAAC;IA0CpF;;;OAGG;IACI,aAAa,CAChB,YAAY,EAAE,mBAAmB,EACjC,KAAK,EAAE,kBAAkB,EACzB,UAAU,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAChE,gBAAgB;IA8BnB;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAYhC,kEAAkE;IAClE,OAAO,CAAC,aAAa;IAcrB,0EAA0E;IAC1E,OAAO,CAAC,sBAAsB;IAoB9B;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,qBAAqB;IAc7B,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,eAAe;IAyBvB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,cAAc;CAkBzB"}
|
package/dist/SchemaBuilder.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { DDLGenerator } from '
|
|
2
|
-
import { MigrationFileWriter } from './MigrationFileWriter.js';
|
|
1
|
+
import { SchemaEngine, DDLGenerator as GenericDDLGenerator, MigrationFileWriter as GenericMigrationWriter, RuntimeSchemaManager, } from '@memberjunction/schema-engine';
|
|
3
2
|
import { SoftFKConfigEmitter } from './SoftFKConfigEmitter.js';
|
|
4
3
|
import { MetadataEmitter } from './MetadataEmitter.js';
|
|
4
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
5
5
|
import { SchemaEvolution } from './SchemaEvolution.js';
|
|
6
6
|
import { IsIntegrationWriteAllowed } from './AccessControl.js';
|
|
7
7
|
/**
|
|
8
8
|
* Main entry point for the Integration Schema Builder.
|
|
9
|
-
*
|
|
9
|
+
* Delegates DDL generation to @memberjunction/schema-engine and adds
|
|
10
|
+
* integration-specific artifacts (sync columns, soft FKs, metadata files).
|
|
10
11
|
*/
|
|
11
12
|
export class SchemaBuilder {
|
|
12
13
|
constructor() {
|
|
13
|
-
this.
|
|
14
|
-
this.MigrationWriter = new MigrationFileWriter();
|
|
14
|
+
this.Engine = new SchemaEngine();
|
|
15
15
|
this.SoftFKEmitter = new SoftFKConfigEmitter();
|
|
16
16
|
this.MetaEmitter = new MetadataEmitter();
|
|
17
17
|
this.Evolution = new SchemaEvolution();
|
|
@@ -38,26 +38,33 @@ export class SchemaBuilder {
|
|
|
38
38
|
output.Warnings.push(...collisionWarnings);
|
|
39
39
|
// Step 3: Separate new tables vs evolution
|
|
40
40
|
const { newConfigs, evolutionConfigs } = this.ClassifyConfigs(input);
|
|
41
|
-
// Step 4: Generate DDL
|
|
42
|
-
const now = new Date();
|
|
41
|
+
// Step 4: Generate DDL using SchemaEngine
|
|
43
42
|
const ddlParts = [];
|
|
44
43
|
// Schema creation statements (deduplicate by schema name)
|
|
45
44
|
const schemasToCreate = this.GetUniqueSchemas(newConfigs);
|
|
46
45
|
for (const schemaName of schemasToCreate) {
|
|
47
|
-
ddlParts.push(this.
|
|
46
|
+
ddlParts.push(this.Engine.GenerateCreateSchema(schemaName, input.Platform));
|
|
48
47
|
ddlParts.push(''); // blank line separator
|
|
49
48
|
}
|
|
50
|
-
//
|
|
49
|
+
// Convert new tables → TableDefinition and generate CREATE TABLE via SchemaEngine DDLGenerator
|
|
50
|
+
// Note: we use DDLGenerator directly (not SchemaEngine.GenerateMigration) because
|
|
51
|
+
// integrations may target __mj schema with proper access control, and SchemaValidator
|
|
52
|
+
// blocks __mj by default. Integration access control is handled in Step 1 above.
|
|
53
|
+
const ddlGen = new GenericDDLGenerator();
|
|
51
54
|
for (const config of newConfigs) {
|
|
52
|
-
|
|
55
|
+
const tableDef = this.ConvertToTableDefinition(config, input.Platform);
|
|
56
|
+
ddlParts.push(ddlGen.GenerateCreateTable(tableDef, input.Platform));
|
|
53
57
|
ddlParts.push(''); // blank line separator
|
|
54
58
|
}
|
|
55
|
-
// Evolution statements (ALTER TABLE)
|
|
59
|
+
// Evolution statements (ALTER TABLE) — uses integration-specific SchemaEvolution
|
|
56
60
|
for (const { config, existing } of evolutionConfigs) {
|
|
57
61
|
const sourceObj = input.SourceSchema.Objects.find(o => o.ExternalName === config.SourceObjectName);
|
|
58
62
|
if (!sourceObj)
|
|
59
63
|
continue;
|
|
60
64
|
const diff = this.Evolution.DiffSchema(sourceObj, config, existing, input.Platform);
|
|
65
|
+
if (diff.Warnings.length > 0) {
|
|
66
|
+
output.Warnings.push(...diff.Warnings);
|
|
67
|
+
}
|
|
61
68
|
if (diff.AddedColumns.length === 0 && diff.ModifiedColumns.length === 0 && diff.RemovedColumns.length === 0) {
|
|
62
69
|
continue; // No changes
|
|
63
70
|
}
|
|
@@ -71,20 +78,26 @@ export class SchemaBuilder {
|
|
|
71
78
|
...evolutionConfigs.map(({ config }) => config.TableName),
|
|
72
79
|
];
|
|
73
80
|
const action = newConfigs.length > 0 ? 'CreateTables' : 'AlterTables';
|
|
74
|
-
const
|
|
75
|
-
const
|
|
76
|
-
const
|
|
77
|
-
|
|
81
|
+
const migrationWriter = new GenericMigrationWriter();
|
|
82
|
+
const now = new Date();
|
|
83
|
+
const timestamps = migrationWriter.GenerateTimestampSequence(1, now);
|
|
84
|
+
const filePath = migrationWriter.GenerateMigrationFileName(input.SourceType, action, input.MJVersion, input.MigrationsDir, timestamps[0], 'Integration');
|
|
85
|
+
output.MigrationFiles = [migrationWriter.WrapInMigrationFile(ddlParts.join('\n'), {
|
|
86
|
+
SourceType: input.SourceType,
|
|
87
|
+
ObjectName: tableNames.join(', '),
|
|
88
|
+
Action: action,
|
|
89
|
+
GeneratedBy: 'MJ Integration Schema Builder (via SchemaEngine)',
|
|
90
|
+
Timestamp: new Date().toISOString(),
|
|
91
|
+
}, filePath)];
|
|
78
92
|
}
|
|
79
93
|
// Step 5: Generate soft PK and FK config
|
|
80
94
|
const allConfigs = [...newConfigs, ...evolutionConfigs.map(ec => ec.config)];
|
|
81
95
|
const allSoftFKs = this.CollectSoftFKs(input, evolutionConfigs);
|
|
82
96
|
// Always emit additionalSchemaInfo — every integration table needs a soft PK
|
|
83
97
|
if (allConfigs.length > 0) {
|
|
84
|
-
const
|
|
85
|
-
|
|
98
|
+
const existingContent = this.ReadFileIfExists(input.AdditionalSchemaInfoPath);
|
|
99
|
+
const existingConfig = this.SoftFKEmitter.ParseExistingConfig(existingContent);
|
|
86
100
|
const withPKs = this.SoftFKEmitter.MergeSoftPKs(existingConfig, allConfigs);
|
|
87
|
-
// Then merge in soft FKs
|
|
88
101
|
const merged = allSoftFKs.length > 0
|
|
89
102
|
? this.SoftFKEmitter.MergeSchemaConfig(withPKs, allSoftFKs)
|
|
90
103
|
: withPKs;
|
|
@@ -99,6 +112,147 @@ export class SchemaBuilder {
|
|
|
99
112
|
}
|
|
100
113
|
return output;
|
|
101
114
|
}
|
|
115
|
+
// ─── RSU Pipeline Integration ──────────────────────────────────────
|
|
116
|
+
/**
|
|
117
|
+
* Build schema artifacts AND execute the full Runtime Schema Update pipeline.
|
|
118
|
+
*
|
|
119
|
+
* This is the end-to-end integration flow:
|
|
120
|
+
* 1. Call BuildSchema() to generate migration SQL, soft FK config, and metadata
|
|
121
|
+
* 2. Feed the output into RuntimeSchemaManager.RunPipeline()
|
|
122
|
+
* 3. Pipeline executes: migration → CodeGen → compile → restart MJAPI → git commit/PR
|
|
123
|
+
*
|
|
124
|
+
* Returns both the SchemaBuilderOutput and the RSU pipeline result.
|
|
125
|
+
*
|
|
126
|
+
* @param input — Standard SchemaBuilderInput
|
|
127
|
+
* @param rsuOptions — Optional overrides for the RSU pipeline (e.g., SkipGitCommit, SkipRestart)
|
|
128
|
+
*/
|
|
129
|
+
async RunSchemaPipeline(input, rsuOptions) {
|
|
130
|
+
// Step 1: Generate all schema artifacts
|
|
131
|
+
const schemaOutput = this.BuildSchema(input);
|
|
132
|
+
// If BuildSchema produced errors, return immediately without running pipeline
|
|
133
|
+
if (schemaOutput.Errors.length > 0) {
|
|
134
|
+
return {
|
|
135
|
+
SchemaOutput: schemaOutput,
|
|
136
|
+
PipelineResult: {
|
|
137
|
+
Success: false,
|
|
138
|
+
APIRestarted: false,
|
|
139
|
+
GitCommitSuccess: false,
|
|
140
|
+
Steps: [],
|
|
141
|
+
ErrorMessage: `Schema generation failed: ${schemaOutput.Errors.join('; ')}`,
|
|
142
|
+
ErrorStep: 'BuildSchema',
|
|
143
|
+
},
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
// If no migration files were produced, nothing to execute
|
|
147
|
+
if (schemaOutput.MigrationFiles.length === 0) {
|
|
148
|
+
return {
|
|
149
|
+
SchemaOutput: schemaOutput,
|
|
150
|
+
PipelineResult: {
|
|
151
|
+
Success: true,
|
|
152
|
+
APIRestarted: false,
|
|
153
|
+
GitCommitSuccess: false,
|
|
154
|
+
Steps: [{ Name: 'BuildSchema', Status: 'skipped', DurationMs: 0, Message: 'No migration SQL produced — no schema changes needed' }],
|
|
155
|
+
},
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
// Step 2: Build RSU pipeline input from SchemaBuilder output
|
|
159
|
+
const rsuInput = this.BuildRSUInput(schemaOutput, input, rsuOptions);
|
|
160
|
+
// Step 3: Execute the RSU pipeline
|
|
161
|
+
const rsm = RuntimeSchemaManager.Instance;
|
|
162
|
+
const pipelineResult = await rsm.RunPipeline(rsuInput);
|
|
163
|
+
return { SchemaOutput: schemaOutput, PipelineResult: pipelineResult };
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Convert SchemaBuilderOutput into an RSUPipelineInput suitable for
|
|
167
|
+
* RuntimeSchemaManager.RunPipeline().
|
|
168
|
+
*/
|
|
169
|
+
BuildRSUInput(schemaOutput, input, rsuOptions) {
|
|
170
|
+
// Combine all migration file contents into a single SQL block
|
|
171
|
+
const migrationSQL = schemaOutput.MigrationFiles
|
|
172
|
+
.map(f => f.Content)
|
|
173
|
+
.join('\n\n');
|
|
174
|
+
// Collect affected table names from the target configs
|
|
175
|
+
const affectedTables = input.TargetConfigs.map(c => `${c.SchemaName}.${c.TableName}`);
|
|
176
|
+
// Build metadata files array for the pipeline
|
|
177
|
+
const metadataFiles = [];
|
|
178
|
+
for (const mf of schemaOutput.MetadataFiles) {
|
|
179
|
+
metadataFiles.push({ Path: mf.FilePath, Content: mf.Content });
|
|
180
|
+
}
|
|
181
|
+
return {
|
|
182
|
+
MigrationSQL: migrationSQL,
|
|
183
|
+
Description: `Integration: ${input.SourceType} — ${affectedTables.join(', ')}`,
|
|
184
|
+
AffectedTables: affectedTables,
|
|
185
|
+
AdditionalSchemaInfo: schemaOutput.AdditionalSchemaInfoUpdate?.Content,
|
|
186
|
+
MetadataFiles: metadataFiles.length > 0 ? metadataFiles : undefined,
|
|
187
|
+
SkipGitCommit: rsuOptions?.SkipGitCommit,
|
|
188
|
+
SkipRestart: rsuOptions?.SkipRestart,
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
// ─── Conversion: Integration types → SchemaEngine types ─────────────
|
|
192
|
+
/**
|
|
193
|
+
* Convert an integration TargetTableConfig to a generic TableDefinition.
|
|
194
|
+
* Adds integration-specific sync columns via AdditionalColumns.
|
|
195
|
+
*/
|
|
196
|
+
ConvertToTableDefinition(config, platform) {
|
|
197
|
+
return {
|
|
198
|
+
SchemaName: config.SchemaName,
|
|
199
|
+
TableName: config.TableName,
|
|
200
|
+
EntityName: config.EntityName,
|
|
201
|
+
Description: config.Description,
|
|
202
|
+
Columns: config.Columns.map(c => this.ConvertColumn(c)),
|
|
203
|
+
SoftPrimaryKeys: config.PrimaryKeyFields,
|
|
204
|
+
AdditionalColumns: this.IntegrationSyncColumns(platform),
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
/** Convert a TargetColumnConfig to a generic ColumnDefinition. */
|
|
208
|
+
ConvertColumn(col) {
|
|
209
|
+
return {
|
|
210
|
+
Name: col.TargetColumnName,
|
|
211
|
+
Type: 'string', // Overridden by RawSqlType
|
|
212
|
+
RawSqlType: col.TargetSqlType,
|
|
213
|
+
IsNullable: col.IsNullable,
|
|
214
|
+
MaxLength: col.MaxLength ?? undefined,
|
|
215
|
+
Precision: col.Precision ?? undefined,
|
|
216
|
+
Scale: col.Scale ?? undefined,
|
|
217
|
+
DefaultValue: col.DefaultValue ?? undefined,
|
|
218
|
+
Description: col.Description,
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
/** Integration-specific sync columns added to every integration table. */
|
|
222
|
+
IntegrationSyncColumns(platform) {
|
|
223
|
+
return [
|
|
224
|
+
{
|
|
225
|
+
Name: '__mj_integration_SyncStatus',
|
|
226
|
+
Type: 'string',
|
|
227
|
+
RawSqlType: platform === 'sqlserver' ? 'NVARCHAR(50)' : 'VARCHAR(50)',
|
|
228
|
+
IsNullable: false,
|
|
229
|
+
DefaultValue: "'Active'",
|
|
230
|
+
Description: 'Current sync status: Active, Archived, or Error',
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
Name: '__mj_integration_LastSyncedAt',
|
|
234
|
+
Type: 'datetime',
|
|
235
|
+
RawSqlType: platform === 'sqlserver' ? 'DATETIMEOFFSET' : 'TIMESTAMPTZ',
|
|
236
|
+
IsNullable: true,
|
|
237
|
+
Description: 'Timestamp of the last successful sync for this record',
|
|
238
|
+
},
|
|
239
|
+
];
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Extract DDL body from a wrapped migration file (strips the header comments).
|
|
243
|
+
* SchemaEngine wraps DDL in a migration header — we need just the DDL
|
|
244
|
+
* since we produce our own single consolidated migration file.
|
|
245
|
+
*/
|
|
246
|
+
ReadFileIfExists(filePath) {
|
|
247
|
+
try {
|
|
248
|
+
if (existsSync(filePath)) {
|
|
249
|
+
return readFileSync(filePath, 'utf-8');
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
catch { /* file doesn't exist yet */ }
|
|
253
|
+
return null;
|
|
254
|
+
}
|
|
255
|
+
// ─── Validation & Classification ────────────────────────────────────
|
|
102
256
|
ValidateAccessControl(input) {
|
|
103
257
|
const errors = [];
|
|
104
258
|
for (const config of input.TargetConfigs) {
|
|
@@ -118,7 +272,6 @@ export class SchemaBuilder {
|
|
|
118
272
|
for (const config of input.TargetConfigs) {
|
|
119
273
|
const key = `${config.SchemaName}.${config.TableName}`.toLowerCase();
|
|
120
274
|
if (existingNames.has(key)) {
|
|
121
|
-
// Not necessarily an error — could be an evolution scenario
|
|
122
275
|
warnings.push(`Table ${config.SchemaName}.${config.TableName} already exists — will generate ALTER TABLE if fields differ.`);
|
|
123
276
|
}
|
|
124
277
|
}
|
|
@@ -164,14 +317,5 @@ export class SchemaBuilder {
|
|
|
164
317
|
}
|
|
165
318
|
return fromSource;
|
|
166
319
|
}
|
|
167
|
-
MakeMigrationMeta(input, action, objectName) {
|
|
168
|
-
return {
|
|
169
|
-
SourceType: input.SourceType,
|
|
170
|
-
ObjectName: objectName,
|
|
171
|
-
Action: action,
|
|
172
|
-
GeneratedBy: 'MJ Integration Schema Builder',
|
|
173
|
-
Timestamp: new Date().toISOString(),
|
|
174
|
-
};
|
|
175
|
-
}
|
|
176
320
|
}
|
|
177
321
|
//# sourceMappingURL=SchemaBuilder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaBuilder.js","sourceRoot":"","sources":["../src/SchemaBuilder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SchemaBuilder.js","sourceRoot":"","sources":["../src/SchemaBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaEvolution.d.ts","sourceRoot":"","sources":["../src/SchemaEvolution.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAER,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,WAAW,EACX,gBAAgB,EAEhB,iBAAiB,EACpB,MAAM,iBAAiB,CAAC;AAIzB;;GAEG;AACH,qBAAa,eAAe;IACxB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAsB;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAE3C;;;OAGG;IACH,UAAU,CACN,MAAM,EAAE,gBAAgB,EACxB,YAAY,EAAE,iBAAiB,EAC/B,QAAQ,EAAE,iBAAiB,EAC3B,QAAQ,EAAE,gBAAgB,GAC3B,UAAU;
|
|
1
|
+
{"version":3,"file":"SchemaEvolution.d.ts","sourceRoot":"","sources":["../src/SchemaEvolution.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAER,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,WAAW,EACX,gBAAgB,EAEhB,iBAAiB,EACpB,MAAM,iBAAiB,CAAC;AAIzB;;GAEG;AACH,qBAAa,eAAe;IACxB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAsB;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAE3C;;;OAGG;IACH,UAAU,CACN,MAAM,EAAE,gBAAgB,EACxB,YAAY,EAAE,iBAAiB,EAC/B,QAAQ,EAAE,iBAAiB,EAC3B,QAAQ,EAAE,gBAAgB,GAC3B,UAAU;IA+Db;;OAEG;IACH,0BAA0B,CACtB,IAAI,EAAE,UAAU,EAChB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,gBAAgB,GAC3B,MAAM;IAkBT;;OAEG;IACH,8BAA8B,CAC1B,IAAI,EAAE,UAAU,EAChB,YAAY,EAAE,iBAAiB,GAChC,WAAW,EAAE;IAMhB,OAAO,CAAC,gBAAgB;CAS3B"}
|
package/dist/SchemaEvolution.js
CHANGED
|
@@ -17,15 +17,29 @@ export class SchemaEvolution {
|
|
|
17
17
|
const sourceColMap = new Map(targetConfig.Columns.map(c => [c.TargetColumnName.toLowerCase(), c]));
|
|
18
18
|
// Standard columns to ignore in the diff (managed by Schema Builder / CodeGen)
|
|
19
19
|
const standardCols = new Set(['id', 'sourcerecordid', 'sourcejson', 'syncstatus', 'lastsyncedat',
|
|
20
|
-
'__mj_createdat', '__mj_updatedat'
|
|
20
|
+
'__mj_createdat', '__mj_updatedat',
|
|
21
|
+
'__mj_integration_syncstatus', '__mj_integration_lastsyncedat']);
|
|
21
22
|
const added = [];
|
|
22
23
|
const modified = [];
|
|
23
24
|
const removed = [];
|
|
25
|
+
const warnings = [];
|
|
26
|
+
// Build set of PK column names — changes are warned but not executed
|
|
27
|
+
const pkNames = new Set((targetConfig.PrimaryKeyFields ?? []).map(f => f.toLowerCase()));
|
|
24
28
|
// Find added and modified columns
|
|
25
29
|
for (const col of targetConfig.Columns) {
|
|
26
30
|
const lowerName = col.TargetColumnName.toLowerCase();
|
|
27
31
|
if (standardCols.has(lowerName))
|
|
28
32
|
continue;
|
|
33
|
+
// PK columns: detect changes but only warn, never alter
|
|
34
|
+
if (pkNames.has(lowerName)) {
|
|
35
|
+
if (existingNames.has(lowerName)) {
|
|
36
|
+
const existingCol = existing.Columns.find(c => c.Name.toLowerCase() === lowerName);
|
|
37
|
+
if (existingCol && this.HasColumnChanged(existingCol, col)) {
|
|
38
|
+
warnings.push(`PK column '${col.TargetColumnName}' type changed from ${existingCol.SqlType} to ${col.TargetSqlType} — skipped (requires manual constraint drop/recreate)`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
continue;
|
|
42
|
+
}
|
|
29
43
|
if (!existingNames.has(lowerName)) {
|
|
30
44
|
added.push(col);
|
|
31
45
|
}
|
|
@@ -51,7 +65,7 @@ export class SchemaEvolution {
|
|
|
51
65
|
removed.push(existingCol.Name);
|
|
52
66
|
}
|
|
53
67
|
}
|
|
54
|
-
return { AddedColumns: added, ModifiedColumns: modified, RemovedColumns: removed };
|
|
68
|
+
return { AddedColumns: added, ModifiedColumns: modified, RemovedColumns: removed, Warnings: warnings };
|
|
55
69
|
}
|
|
56
70
|
/**
|
|
57
71
|
* Generate ALTER TABLE SQL for a schema diff.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaEvolution.js","sourceRoot":"","sources":["../src/SchemaEvolution.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;GAEG;AACH,MAAM,OAAO,eAAe;IAA5B;QACqB,QAAG,GAAG,IAAI,YAAY,EAAE,CAAC;QACzB,WAAM,GAAG,IAAI,UAAU,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"SchemaEvolution.js","sourceRoot":"","sources":["../src/SchemaEvolution.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACR,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,UAAU,EACV,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,GACtB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACR,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,UAAU,EACV,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,GACtB,MAAM,iBAAiB,CAAC;AAKzB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAsBA,UAAU;AACV,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,YAAY;AACZ,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAsBA,mIAAmI;AAEnI,UAAU;AACV,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,YAAY;AACZ,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/interfaces.d.ts
CHANGED
|
@@ -93,6 +93,8 @@ export interface SchemaDiff {
|
|
|
93
93
|
ModifiedColumns: ColumnModification[];
|
|
94
94
|
/** Columns that exist in target but not in source — deprecated (no physical drop). */
|
|
95
95
|
RemovedColumns: string[];
|
|
96
|
+
/** Warnings about skipped changes (PK type changes, etc.) — reported but not executed. */
|
|
97
|
+
Warnings: string[];
|
|
96
98
|
}
|
|
97
99
|
/** Describes a column type/nullability change. */
|
|
98
100
|
export interface ColumnModification {
|
package/dist/interfaces.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,uDAAuD;AACvD,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,YAAY,CAAC;AAK1D,OAAO,KAAK,EACR,gBAAgB,IAAI,iBAAiB,EACrC,gBAAgB,IAAI,iBAAiB,EACrC,eAAe,IAAI,gBAAgB,EACnC,sBAAsB,IAAI,uBAAuB,EACpD,MAAM,oCAAoC,CAAC;AAE5C,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,CAAC;AACjD,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,CAAC;AACjD,MAAM,MAAM,eAAe,GAAG,gBAAgB,CAAC;AAC/C,MAAM,MAAM,sBAAsB,GAAG,uBAAuB,CAAC;AAI7D,4DAA4D;AAC5D,MAAM,WAAW,iBAAiB;IAC9B,0CAA0C;IAC1C,gBAAgB,EAAE,MAAM,CAAC;IACzB,2DAA2D;IAC3D,UAAU,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,UAAU,EAAE,MAAM,CAAC;IACnB,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,6EAA6E;IAC7E,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,0CAA0C;IAC1C,eAAe,EAAE,WAAW,EAAE,CAAC;CAClC;AAED,+CAA+C;AAC/C,MAAM,WAAW,kBAAkB;IAC/B,8CAA8C;IAC9C,eAAe,EAAE,MAAM,CAAC;IACxB,uCAAuC;IACvC,gBAAgB,EAAE,MAAM,CAAC;IACzB,kEAAkE;IAClE,aAAa,EAAE,MAAM,CAAC;IACtB,uCAAuC;IACvC,UAAU,EAAE,OAAO,CAAC;IACpB,8DAA8D;IAC9D,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,8DAA8D;IAC9D,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,0DAA0D;IAC1D,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,mDAAmD;IACnD,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,qFAAqF;IACrF,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAID,uDAAuD;AACvD,MAAM,WAAW,WAAW;IACxB,sDAAsD;IACtD,UAAU,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,gBAAgB,EAAE,MAAM,CAAC;IACzB,sCAAsC;IACtC,eAAe,EAAE,MAAM,CAAC;IACxB,qDAAqD;IACrD,eAAe,EAAE,MAAM,CAAC;CAC3B;AAID,+EAA+E;AAC/E,MAAM,WAAW,iBAAiB;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,kBAAkB,EAAE,CAAC;CACjC;AAED,sDAAsD;AACtD,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,8DAA8D;AAC9D,MAAM,WAAW,UAAU;IACvB,6EAA6E;IAC7E,YAAY,EAAE,kBAAkB,EAAE,CAAC;IACnC,oFAAoF;IACpF,eAAe,EAAE,kBAAkB,EAAE,CAAC;IACtC,sFAAsF;IACtF,cAAc,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/integration-schema-builder",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "5.
|
|
4
|
+
"version": "5.17.0",
|
|
5
5
|
"description": "MemberJunction Integration Schema Builder - file-emission-only DDL generation for integration tables",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -14,8 +14,9 @@
|
|
|
14
14
|
"test:watch": "vitest"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@memberjunction/global": "5.
|
|
18
|
-
"@memberjunction/integration-engine": "5.
|
|
17
|
+
"@memberjunction/global": "5.17.0",
|
|
18
|
+
"@memberjunction/integration-engine": "5.17.0",
|
|
19
|
+
"@memberjunction/schema-engine": "5.17.0"
|
|
19
20
|
},
|
|
20
21
|
"devDependencies": {
|
|
21
22
|
"typescript": "^5.9.3",
|