@memberjunction/integration-schema-builder 5.8.0 → 5.10.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.
@@ -12,9 +12,16 @@ export declare class DDLGenerator {
12
12
  */
13
13
  GenerateCreateSchema(schemaName: string, platform: DatabasePlatform): string;
14
14
  /**
15
- * Generate a full CREATE TABLE statement with standard integration columns.
15
+ * Generate a full CREATE TABLE statement.
16
+ * PK fields keep their natural names from the source system and get a UNIQUE constraint.
17
+ * Standard integration columns (__mj_integration_*) are added automatically.
16
18
  */
17
19
  GenerateCreateTable(config: TargetTableConfig, platform: DatabasePlatform): string;
20
+ /**
21
+ * Generate sp_addextendedproperty calls for table and column descriptions.
22
+ */
23
+ GenerateExtendedProperties(config: TargetTableConfig): string[];
24
+ private MakeColumnExtendedProperty;
18
25
  /**
19
26
  * Generate ALTER TABLE ADD COLUMN statement.
20
27
  */
@@ -1 +1 @@
1
- {"version":3,"file":"DDLGenerator.d.ts","sourceRoot":"","sources":["../src/DDLGenerator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAKnH;;GAEG;AACH,qBAAa,YAAY;IACrB;;OAEG;IACH,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,GAAG,MAAM;IAQ5E;;OAEG;IACH,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,gBAAgB,GAAG,MAAM;IA8BlF;;OAEG;IACH,2BAA2B,CACvB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,gBAAgB,GAC3B,MAAM;IAgBT;;OAEG;IACH,6BAA6B,CACzB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,kBAAkB,EACvB,QAAQ,EAAE,gBAAgB,GAC3B,MAAM;IAeT,OAAO,CAAC,eAAe;CAmB1B;AAYD,kEAAkE;AAClE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAInE"}
1
+ {"version":3,"file":"DDLGenerator.d.ts","sourceRoot":"","sources":["../src/DDLGenerator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAKnH;;GAEG;AACH,qBAAa,YAAY;IACrB;;OAEG;IACH,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,GAAG,MAAM;IAQ5E;;;;OAIG;IACH,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,gBAAgB,GAAG,MAAM;IAyClF;;OAEG;IACH,0BAA0B,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,EAAE;IAqC/D,OAAO,CAAC,0BAA0B;IAclC;;OAEG;IACH,2BAA2B,CACvB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,gBAAgB,GAC3B,MAAM;IAgBT;;OAEG;IACH,6BAA6B,CACzB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,kBAAkB,EACvB,QAAQ,EAAE,gBAAgB,GAC3B,MAAM;IAeT,OAAO,CAAC,eAAe;CAa1B;AAYD,kEAAkE;AAClE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAInE"}
@@ -15,7 +15,9 @@ export class DDLGenerator {
15
15
  return `CREATE SCHEMA IF NOT EXISTS "${schemaName}";`;
16
16
  }
17
17
  /**
18
- * Generate a full CREATE TABLE statement with standard integration columns.
18
+ * Generate a full CREATE TABLE statement.
19
+ * PK fields keep their natural names from the source system and get a UNIQUE constraint.
20
+ * Standard integration columns (__mj_integration_*) are added automatically.
19
21
  */
20
22
  GenerateCreateTable(config, platform) {
21
23
  ValidateIdentifier(config.SchemaName, 'schema');
@@ -23,22 +25,70 @@ export class DDLGenerator {
23
25
  const q = platform === 'sqlserver' ? QuoteSqlServer : QuotePostgres;
24
26
  const fullTable = `${q(config.SchemaName)}.${q(config.TableName)}`;
25
27
  const lines = [];
26
- // Standard columns
27
- lines.push(...this.StandardColumns(platform));
28
- // User-configured columns
28
+ // User-configured columns (includes PK fields as regular columns)
29
29
  for (const col of config.Columns) {
30
30
  ValidateIdentifier(col.TargetColumnName, 'column');
31
31
  const nullable = col.IsNullable ? 'NULL' : 'NOT NULL';
32
32
  const defaultExpr = col.DefaultValue != null ? ` DEFAULT ${col.DefaultValue}` : '';
33
33
  lines.push(` ${q(col.TargetColumnName)} ${col.TargetSqlType} ${nullable}${defaultExpr}`);
34
34
  }
35
- // Constraints
36
- const pkName = `PK_${config.SchemaName}_${config.TableName}`;
37
- const uqName = `UQ_${config.SchemaName}_${config.TableName}_SourceRecordID`;
38
- lines.push(` CONSTRAINT ${q(pkName)} PRIMARY KEY (${q('ID')})`);
39
- lines.push(` CONSTRAINT ${q(uqName)} UNIQUE (${q('SourceRecordID')})`);
35
+ // Standard integration columns (prefixed to avoid collisions)
36
+ lines.push(...this.StandardColumns(platform));
37
+ // UNIQUE constraint on PK field(s) — no DB-level PK, soft PK via additionalSchemaInfo
38
+ if (config.PrimaryKeyFields.length > 0) {
39
+ const pkColNames = config.PrimaryKeyFields.map(f => q(f)).join(', ');
40
+ const uqName = `UQ_${config.SchemaName}_${config.TableName}_PK`;
41
+ lines.push(` CONSTRAINT ${q(uqName)} UNIQUE (${pkColNames})`);
42
+ }
40
43
  const body = lines.join(',\n');
41
- return `CREATE TABLE ${fullTable} (\n${body}\n);`;
44
+ const createTable = `CREATE TABLE ${fullTable} (\n${body}\n);`;
45
+ // Generate extended properties for descriptions (SQL Server only)
46
+ if (platform === 'sqlserver') {
47
+ const extProps = this.GenerateExtendedProperties(config);
48
+ if (extProps.length > 0) {
49
+ return createTable + '\n\n' + extProps.join('\n\n');
50
+ }
51
+ }
52
+ return createTable;
53
+ }
54
+ /**
55
+ * Generate sp_addextendedproperty calls for table and column descriptions.
56
+ */
57
+ GenerateExtendedProperties(config) {
58
+ const props = [];
59
+ // Table-level description
60
+ if (config.Description) {
61
+ const escaped = EscapeSqlString(config.Description);
62
+ props.push(`EXEC sp_addextendedproperty\n` +
63
+ ` @name = N'MS_Description',\n` +
64
+ ` @value = N'${escaped}',\n` +
65
+ ` @level0type = N'SCHEMA', @level0name = '${config.SchemaName}',\n` +
66
+ ` @level1type = N'TABLE', @level1name = '${config.TableName}';`);
67
+ }
68
+ // Standard column descriptions
69
+ const standardDescriptions = {
70
+ '__mj_integration_SyncStatus': 'Current sync status: Active, Archived, or Error',
71
+ '__mj_integration_LastSyncedAt': 'Timestamp of the last successful sync for this record',
72
+ };
73
+ for (const [colName, desc] of Object.entries(standardDescriptions)) {
74
+ props.push(this.MakeColumnExtendedProperty(config.SchemaName, config.TableName, colName, desc));
75
+ }
76
+ // User-configured column descriptions
77
+ for (const col of config.Columns) {
78
+ if (col.Description) {
79
+ props.push(this.MakeColumnExtendedProperty(config.SchemaName, config.TableName, col.TargetColumnName, col.Description));
80
+ }
81
+ }
82
+ return props;
83
+ }
84
+ MakeColumnExtendedProperty(schemaName, tableName, columnName, description) {
85
+ const escaped = EscapeSqlString(description);
86
+ return (`EXEC sp_addextendedproperty\n` +
87
+ ` @name = N'MS_Description',\n` +
88
+ ` @value = N'${escaped}',\n` +
89
+ ` @level0type = N'SCHEMA', @level0name = '${schemaName}',\n` +
90
+ ` @level1type = N'TABLE', @level1name = '${tableName}',\n` +
91
+ ` @level2type = N'COLUMN', @level2name = '${columnName}';`);
42
92
  }
43
93
  /**
44
94
  * Generate ALTER TABLE ADD COLUMN statement.
@@ -75,19 +125,13 @@ export class DDLGenerator {
75
125
  const q = platform === 'sqlserver' ? QuoteSqlServer : QuotePostgres;
76
126
  if (platform === 'sqlserver') {
77
127
  return [
78
- ` ${q('ID')} UNIQUEIDENTIFIER NOT NULL DEFAULT NEWSEQUENTIALID()`,
79
- ` ${q('SourceRecordID')} NVARCHAR(255) NOT NULL`,
80
- ` ${q('SourceJSON')} NVARCHAR(MAX) NULL`,
81
- ` ${q('SyncStatus')} NVARCHAR(50) NOT NULL DEFAULT 'Active'`,
82
- ` ${q('LastSyncedAt')} DATETIMEOFFSET NULL`,
128
+ ` ${q('__mj_integration_SyncStatus')} NVARCHAR(50) NOT NULL DEFAULT 'Active'`,
129
+ ` ${q('__mj_integration_LastSyncedAt')} DATETIMEOFFSET NULL`,
83
130
  ];
84
131
  }
85
132
  return [
86
- ` ${q('ID')} UUID NOT NULL DEFAULT gen_random_uuid()`,
87
- ` ${q('SourceRecordID')} VARCHAR(255) NOT NULL`,
88
- ` ${q('SourceJSON')} TEXT NULL`,
89
- ` ${q('SyncStatus')} VARCHAR(50) NOT NULL DEFAULT 'Active'`,
90
- ` ${q('LastSyncedAt')} TIMESTAMPTZ NULL`,
133
+ ` ${q('__mj_integration_SyncStatus')} VARCHAR(50) NOT NULL DEFAULT 'Active'`,
134
+ ` ${q('__mj_integration_LastSyncedAt')} TIMESTAMPTZ NULL`,
91
135
  ];
92
136
  }
93
137
  }
@@ -104,4 +148,8 @@ export function ValidateIdentifier(name, kind) {
104
148
  throw new Error(`Invalid ${kind} name "${name}": must match ${IDENTIFIER_RE.source}`);
105
149
  }
106
150
  }
151
+ /** Escapes single quotes in a string for use in SQL string literals. */
152
+ function EscapeSqlString(value) {
153
+ return value.replace(/'/g, "''");
154
+ }
107
155
  //# sourceMappingURL=DDLGenerator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DDLGenerator.js","sourceRoot":"","sources":["../src/DDLGenerator.ts"],"names":[],"mappings":"AAMA,uEAAuE;AACvE,MAAM,aAAa,GAAG,0BAA0B,CAAC;AAEjD;;GAEG;AACH,MAAM,OAAO,YAAY;IACrB;;OAEG;IACH,oBAAoB,CAAC,UAAkB,EAAE,QAA0B;QAC/D,kBAAkB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACzC,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC3B,OAAO,0DAA0D,UAAU,gCAAgC,UAAU,UAAU,CAAC;QACpI,CAAC;QACD,OAAO,gCAAgC,UAAU,IAAI,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,MAAyB,EAAE,QAA0B;QACrE,kBAAkB,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAChD,kBAAkB,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE9C,MAAM,CAAC,GAAG,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC;QACpE,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QAEnE,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,mBAAmB;QACnB,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE9C,0BAA0B;QAC1B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAC/B,kBAAkB,CAAC,GAAG,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;YACnD,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;YACtD,MAAM,WAAW,GAAG,GAAG,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnF,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,aAAa,IAAI,QAAQ,GAAG,WAAW,EAAE,CAAC,CAAC;QAChG,CAAC;QAED,cAAc;QACd,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QAC7D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,SAAS,iBAAiB,CAAC;QAC5E,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAE1E,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,OAAO,gBAAgB,SAAS,OAAO,IAAI,MAAM,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,2BAA2B,CACvB,UAAkB,EAClB,SAAiB,EACjB,MAA0B,EAC1B,QAA0B;QAE1B,kBAAkB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACzC,kBAAkB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACvC,kBAAkB,CAAC,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QAEtD,MAAM,CAAC,GAAG,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC;QACpE,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;QACrD,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;QACzD,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAEzF,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC3B,OAAO,eAAe,SAAS,aAAa,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,MAAM,CAAC,aAAa,IAAI,QAAQ,GAAG,WAAW,GAAG,CAAC;QAChI,CAAC;QACD,OAAO,eAAe,SAAS,oBAAoB,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,MAAM,CAAC,aAAa,IAAI,QAAQ,GAAG,WAAW,GAAG,CAAC;IACvI,CAAC;IAED;;OAEG;IACH,6BAA6B,CACzB,UAAkB,EAClB,SAAiB,EACjB,GAAuB,EACvB,QAA0B;QAE1B,kBAAkB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACzC,kBAAkB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACvC,kBAAkB,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAE7C,MAAM,CAAC,GAAG,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC;QACpE,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;QACrD,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;QAEvD,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC3B,OAAO,eAAe,SAAS,sBAAsB,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,OAAO,IAAI,QAAQ,GAAG,CAAC;QACzG,CAAC;QACD,OAAO,eAAe,SAAS,sBAAsB,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,GAAG,CAAC;IAChM,CAAC;IAEO,eAAe,CAAC,QAA0B;QAC9C,MAAM,CAAC,GAAG,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC;QACpE,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC3B,OAAO;gBACH,OAAO,CAAC,CAAC,IAAI,CAAC,sDAAsD;gBACpE,OAAO,CAAC,CAAC,gBAAgB,CAAC,yBAAyB;gBACnD,OAAO,CAAC,CAAC,YAAY,CAAC,qBAAqB;gBAC3C,OAAO,CAAC,CAAC,YAAY,CAAC,yCAAyC;gBAC/D,OAAO,CAAC,CAAC,cAAc,CAAC,sBAAsB;aACjD,CAAC;QACN,CAAC;QACD,OAAO;YACH,OAAO,CAAC,CAAC,IAAI,CAAC,0CAA0C;YACxD,OAAO,CAAC,CAAC,gBAAgB,CAAC,wBAAwB;YAClD,OAAO,CAAC,CAAC,YAAY,CAAC,YAAY;YAClC,OAAO,CAAC,CAAC,YAAY,CAAC,wCAAwC;YAC9D,OAAO,CAAC,CAAC,cAAc,CAAC,mBAAmB;SAC9C,CAAC;IACN,CAAC;CACJ;AAED,uEAAuE;AAEvE,SAAS,cAAc,CAAC,IAAY;IAChC,OAAO,IAAI,IAAI,GAAG,CAAC;AACvB,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IAC/B,OAAO,IAAI,IAAI,GAAG,CAAC;AACvB,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,IAAY;IACzD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,UAAU,IAAI,iBAAiB,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1F,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"DDLGenerator.js","sourceRoot":"","sources":["../src/DDLGenerator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaBuilder.d.ts","sourceRoot":"","sources":["../src/SchemaBuilder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAKR,kBAAkB,EAClB,mBAAmB,EAGtB,MAAM,iBAAiB,CAAC;AAQzB;;;GAGG;AACH,qBAAa,aAAa;IACtB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAsB;IAC1C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA6B;IAC7D,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;IAmG3D,OAAO,CAAC,qBAAqB;IAc7B,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,eAAe;IAyBvB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,cAAc;IAmBtB,OAAO,CAAC,iBAAiB;CAS5B"}
1
+ {"version":3,"file":"SchemaBuilder.d.ts","sourceRoot":"","sources":["../src/SchemaBuilder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAKR,kBAAkB,EAClB,mBAAmB,EAGtB,MAAM,iBAAiB,CAAC;AAQzB;;;GAGG;AACH,qBAAa,aAAa;IACtB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAsB;IAC1C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA6B;IAC7D,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;IAqG3D,OAAO,CAAC,qBAAqB;IAc7B,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,eAAe;IAyBvB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,cAAc;IAmBtB,OAAO,CAAC,iBAAiB;CAS5B"}
@@ -38,27 +38,21 @@ 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 migrations
41
+ // Step 4: Generate DDL — one migration file per integration
42
42
  const now = new Date();
43
- const allMigrations = [];
44
- // Schema creation migrations (deduplicate by schema name)
43
+ const ddlParts = [];
44
+ // Schema creation statements (deduplicate by schema name)
45
45
  const schemasToCreate = this.GetUniqueSchemas(newConfigs);
46
- const timestamps = this.MigrationWriter.GenerateTimestampSequence(schemasToCreate.length + newConfigs.length + evolutionConfigs.length, now);
47
- let tsIdx = 0;
48
46
  for (const schemaName of schemasToCreate) {
49
- const ddl = this.DDL.GenerateCreateSchema(schemaName, input.Platform);
50
- const meta = this.MakeMigrationMeta(input, 'CreateSchema', schemaName);
51
- const filePath = this.MigrationWriter.GenerateMigrationFileName(input.SourceType, `CreateSchema_${schemaName}`, input.MJVersion, input.MigrationsDir, timestamps[tsIdx++]);
52
- allMigrations.push(this.MigrationWriter.WrapInMigrationFile(ddl, meta, filePath));
47
+ ddlParts.push(this.DDL.GenerateCreateSchema(schemaName, input.Platform));
48
+ ddlParts.push(''); // blank line separator
53
49
  }
54
- // Table creation migrations
50
+ // Table creation statements
55
51
  for (const config of newConfigs) {
56
- const ddl = this.DDL.GenerateCreateTable(config, input.Platform);
57
- const meta = this.MakeMigrationMeta(input, `Create${config.TableName}Table`, config.TableName);
58
- const filePath = this.MigrationWriter.GenerateMigrationFileName(input.SourceType, `Create${config.TableName}Table`, input.MJVersion, input.MigrationsDir, timestamps[tsIdx++]);
59
- allMigrations.push(this.MigrationWriter.WrapInMigrationFile(ddl, meta, filePath));
52
+ ddlParts.push(this.DDL.GenerateCreateTable(config, input.Platform));
53
+ ddlParts.push(''); // blank line separator
60
54
  }
61
- // Evolution migrations (ALTER TABLE)
55
+ // Evolution statements (ALTER TABLE)
62
56
  for (const { config, existing } of evolutionConfigs) {
63
57
  const sourceObj = input.SourceSchema.Objects.find(o => o.ExternalName === config.SourceObjectName);
64
58
  if (!sourceObj)
@@ -67,17 +61,33 @@ export class SchemaBuilder {
67
61
  if (diff.AddedColumns.length === 0 && diff.ModifiedColumns.length === 0 && diff.RemovedColumns.length === 0) {
68
62
  continue; // No changes
69
63
  }
70
- const ddl = this.Evolution.GenerateEvolutionMigration(diff, config.SchemaName, config.TableName, input.Platform);
71
- const meta = this.MakeMigrationMeta(input, `Alter${config.TableName}`, config.TableName);
72
- const filePath = this.MigrationWriter.GenerateMigrationFileName(input.SourceType, `Alter${config.TableName}`, input.MJVersion, input.MigrationsDir, timestamps[tsIdx++]);
73
- allMigrations.push(this.MigrationWriter.WrapInMigrationFile(ddl, meta, filePath));
64
+ ddlParts.push(this.Evolution.GenerateEvolutionMigration(diff, config.SchemaName, config.TableName, input.Platform));
65
+ ddlParts.push(''); // blank line separator
74
66
  }
75
- output.MigrationFiles = allMigrations;
76
- // Step 5: Generate soft FK config
67
+ // Emit a single migration file if there's any DDL
68
+ if (ddlParts.some(p => p.trim().length > 0)) {
69
+ const tableNames = [
70
+ ...newConfigs.map(c => c.TableName),
71
+ ...evolutionConfigs.map(({ config }) => config.TableName),
72
+ ];
73
+ const action = newConfigs.length > 0 ? 'CreateTables' : 'AlterTables';
74
+ const meta = this.MakeMigrationMeta(input, action, tableNames.join(', '));
75
+ const timestamps = this.MigrationWriter.GenerateTimestampSequence(1, now);
76
+ const filePath = this.MigrationWriter.GenerateMigrationFileName(input.SourceType, action, input.MJVersion, input.MigrationsDir, timestamps[0]);
77
+ output.MigrationFiles = [this.MigrationWriter.WrapInMigrationFile(ddlParts.join('\n'), meta, filePath)];
78
+ }
79
+ // Step 5: Generate soft PK and FK config
80
+ const allConfigs = [...newConfigs, ...evolutionConfigs.map(ec => ec.config)];
77
81
  const allSoftFKs = this.CollectSoftFKs(input, evolutionConfigs);
78
- if (allSoftFKs.length > 0) {
82
+ // Always emit additionalSchemaInfo — every integration table needs a soft PK
83
+ if (allConfigs.length > 0) {
79
84
  const existingConfig = this.SoftFKEmitter.ParseExistingConfig(null); // Caller provides existing content via input
80
- const merged = this.SoftFKEmitter.MergeSchemaConfig(existingConfig, allSoftFKs);
85
+ // First add soft PKs (natural PK field names from source system)
86
+ const withPKs = this.SoftFKEmitter.MergeSoftPKs(existingConfig, allConfigs);
87
+ // Then merge in soft FKs
88
+ const merged = allSoftFKs.length > 0
89
+ ? this.SoftFKEmitter.MergeSchemaConfig(withPKs, allSoftFKs)
90
+ : withPKs;
81
91
  output.AdditionalSchemaInfoUpdate = this.SoftFKEmitter.EmitConfigFile(input.AdditionalSchemaInfoPath, merged);
82
92
  }
83
93
  // Step 6: Generate metadata files for __mj entity targets
@@ -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,5 +1,5 @@
1
1
  /**
2
- * SoftFKConfigEmitter — reads/merges additionalSchemaInfo JSON for soft foreign keys.
2
+ * SoftFKConfigEmitter — reads/merges additionalSchemaInfo JSON for soft PKs and FKs.
3
3
  * File-emission only — produces updated JSON content, never writes to disk directly.
4
4
  */
5
5
  import type { EmittedFile, SoftFKEntry, SourceSchemaInfo, TargetTableConfig } from './interfaces.js';
@@ -8,6 +8,7 @@ interface SchemaInfoTableEntry {
8
8
  TableName: string;
9
9
  PrimaryKey?: Array<{
10
10
  FieldName: string;
11
+ Description?: string;
11
12
  }>;
12
13
  ForeignKeys?: Array<{
13
14
  FieldName: string;
@@ -19,7 +20,7 @@ interface SchemaInfoTableEntry {
19
20
  /** The top-level additionalSchemaInfo structure: schema name → table entries. */
20
21
  type AdditionalSchemaInfo = Record<string, SchemaInfoTableEntry[]>;
21
22
  /**
22
- * Manages soft FK definitions in the additionalSchemaInfo JSON file.
23
+ * Manages soft PK and FK definitions in the additionalSchemaInfo JSON file.
23
24
  */
24
25
  export declare class SoftFKConfigEmitter {
25
26
  /**
@@ -32,9 +33,15 @@ export declare class SoftFKConfigEmitter {
32
33
  * Deduplicates — won't add the same FK twice.
33
34
  */
34
35
  MergeSchemaConfig(existing: AdditionalSchemaInfo, newEntries: SoftFKEntry[]): AdditionalSchemaInfo;
36
+ /**
37
+ * Add soft PK entries for integration tables.
38
+ * Uses the natural PK field name(s) from the source system. Supports composite PKs.
39
+ */
40
+ MergeSoftPKs(existing: AdditionalSchemaInfo, targetConfigs: TargetTableConfig[]): AdditionalSchemaInfo;
35
41
  /**
36
42
  * Extract soft FK entries from source schema relationships + target configs.
37
43
  * Maps source relationship field names → target column names using the target config.
44
+ * FKs point to the natural PK field on target tables (first PK field for composite keys).
38
45
  */
39
46
  GenerateConfigEntries(sourceSchema: SourceSchemaInfo, targetConfigs: TargetTableConfig[]): SoftFKEntry[];
40
47
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"SoftFKConfigEmitter.d.ts","sourceRoot":"","sources":["../src/SoftFKConfigEmitter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAErG,wDAAwD;AACxD,UAAU,oBAAoB;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1C,WAAW,CAAC,EAAE,KAAK,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;KACxB,CAAC,CAAC;CACN;AAED,iFAAiF;AACjF,KAAK,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC;AAEnE;;GAEG;AACH,qBAAa,mBAAmB;IAC5B;;;OAGG;IACH,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,oBAAoB;IAOrE;;;OAGG;IACH,iBAAiB,CAAC,QAAQ,EAAE,oBAAoB,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,oBAAoB;IAyClG;;;OAGG;IACH,qBAAqB,CACjB,YAAY,EAAE,gBAAgB,EAC9B,aAAa,EAAE,iBAAiB,EAAE,GACnC,WAAW,EAAE;IAqDhB;;OAEG;IACH,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,oBAAoB,GAAG,WAAW;CAOtF"}
1
+ {"version":3,"file":"SoftFKConfigEmitter.d.ts","sourceRoot":"","sources":["../src/SoftFKConfigEmitter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAErG,wDAAwD;AACxD,UAAU,oBAAoB;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChE,WAAW,CAAC,EAAE,KAAK,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;KACxB,CAAC,CAAC;CACN;AAED,iFAAiF;AACjF,KAAK,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC;AAEnE;;GAEG;AACH,qBAAa,mBAAmB;IAC5B;;;OAGG;IACH,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,oBAAoB;IAOrE;;;OAGG;IACH,iBAAiB,CAAC,QAAQ,EAAE,oBAAoB,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,oBAAoB;IAyClG;;;OAGG;IACH,YAAY,CAAC,QAAQ,EAAE,oBAAoB,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,oBAAoB;IA4BtG;;;;OAIG;IACH,qBAAqB,CACjB,YAAY,EAAE,gBAAgB,EAC9B,aAAa,EAAE,iBAAiB,EAAE,GACnC,WAAW,EAAE;IAyDhB;;OAEG;IACH,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,oBAAoB,GAAG,WAAW;CAOtF"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Manages soft FK definitions in the additionalSchemaInfo JSON file.
2
+ * Manages soft PK and FK definitions in the additionalSchemaInfo JSON file.
3
3
  */
4
4
  export class SoftFKConfigEmitter {
5
5
  /**
@@ -47,9 +47,36 @@ export class SoftFKConfigEmitter {
47
47
  }
48
48
  return result;
49
49
  }
50
+ /**
51
+ * Add soft PK entries for integration tables.
52
+ * Uses the natural PK field name(s) from the source system. Supports composite PKs.
53
+ */
54
+ MergeSoftPKs(existing, targetConfigs) {
55
+ const result = JSON.parse(JSON.stringify(existing));
56
+ for (const config of targetConfigs) {
57
+ if (config.PrimaryKeyFields.length === 0)
58
+ continue;
59
+ if (!result[config.SchemaName]) {
60
+ result[config.SchemaName] = [];
61
+ }
62
+ const schemaEntries = result[config.SchemaName];
63
+ let tableEntry = schemaEntries.find(t => t.TableName === config.TableName);
64
+ if (!tableEntry) {
65
+ tableEntry = { TableName: config.TableName };
66
+ schemaEntries.push(tableEntry);
67
+ }
68
+ // Set soft PK to the natural PK field(s) from the source system
69
+ tableEntry.PrimaryKey = config.PrimaryKeyFields.map(fieldName => ({
70
+ FieldName: fieldName,
71
+ Description: `Primary key from source system`,
72
+ }));
73
+ }
74
+ return result;
75
+ }
50
76
  /**
51
77
  * Extract soft FK entries from source schema relationships + target configs.
52
78
  * Maps source relationship field names → target column names using the target config.
79
+ * FKs point to the natural PK field on target tables (first PK field for composite keys).
53
80
  */
54
81
  GenerateConfigEntries(sourceSchema, targetConfigs) {
55
82
  const entries = [];
@@ -76,13 +103,17 @@ export class SoftFKConfigEmitter {
76
103
  // Find the mapped column name for this FK field
77
104
  const columnConfig = targetConfig.Columns.find(c => c.SourceFieldName === rel.FieldName);
78
105
  const columnName = columnConfig ? columnConfig.TargetColumnName : rel.FieldName;
106
+ // FK points to the natural PK field on the target table
107
+ const targetPKField = targetOfFK.PrimaryKeyFields[0];
108
+ if (!targetPKField)
109
+ continue; // Target has no PK — skip FK
79
110
  const entry = {
80
111
  SchemaName: targetConfig.SchemaName,
81
112
  TableName: targetConfig.TableName,
82
113
  FieldName: columnName,
83
114
  TargetSchemaName: targetOfFK.SchemaName,
84
115
  TargetTableName: targetOfFK.TableName,
85
- TargetFieldName: 'ID', // Always reference the MJ-generated PK
116
+ TargetFieldName: targetPKField,
86
117
  };
87
118
  // Deduplicate against already-added entries
88
119
  const alreadyAdded = entries.some(e => e.SchemaName === entry.SchemaName &&
@@ -101,8 +132,8 @@ export class SoftFKConfigEmitter {
101
132
  EmitConfigFile(configPath, mergedConfig) {
102
133
  return {
103
134
  FilePath: configPath,
104
- Content: JSON.stringify(mergedConfig, null, 2) + '\n',
105
- Description: 'Updated additionalSchemaInfo with soft FK definitions for integration tables',
135
+ Content: JSON.stringify(mergedConfig, null, 4) + '\n',
136
+ Description: 'Updated additionalSchemaInfo with soft PK and FK definitions for integration tables',
106
137
  };
107
138
  }
108
139
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SoftFKConfigEmitter.js","sourceRoot":"","sources":["../src/SoftFKConfigEmitter.ts"],"names":[],"mappings":"AAqBA;;GAEG;AACH,MAAM,OAAO,mBAAmB;IAC5B;;;OAGG;IACH,mBAAmB,CAAC,WAA0B;QAC1C,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC5C,OAAO,EAAE,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAyB,CAAC;IAC3D,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,QAA8B,EAAE,UAAyB;QACvE,MAAM,MAAM,GAAyB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE1E,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC5B,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;YAClC,CAAC;YAED,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC/C,IAAI,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;YAE1E,IAAI,CAAC,UAAU,EAAE,CAAC;gBACd,UAAU,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;gBAC7D,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACnC,CAAC;YAED,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;gBAC1B,UAAU,CAAC,WAAW,GAAG,EAAE,CAAC;YAChC,CAAC;YAED,oDAAoD;YACpD,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,CACtC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS;gBAChC,EAAE,CAAC,UAAU,KAAK,KAAK,CAAC,gBAAgB;gBACxC,EAAE,CAAC,YAAY,KAAK,KAAK,CAAC,eAAe;gBACzC,EAAE,CAAC,YAAY,KAAK,KAAK,CAAC,eAAe,CAClD,CAAC;YAEF,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC;oBACxB,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,UAAU,EAAE,KAAK,CAAC,gBAAgB;oBAClC,YAAY,EAAE,KAAK,CAAC,eAAe;oBACnC,YAAY,EAAE,KAAK,CAAC,eAAe;iBACtC,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;OAGG;IACH,qBAAqB,CACjB,YAA8B,EAC9B,aAAkC;QAElC,MAAM,OAAO,GAAkB,EAAE,CAAC;QAElC,qEAAqE;QACrE,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;YACjC,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;gBACzB,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;YAC5C,CAAC;QACL,CAAC;QAED,sEAAsE;QACtE,MAAM,cAAc,GAAG,IAAI,GAAG,EAA6B,CAAC;QAC5D,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;YACjC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QACxD,CAAC;QAED,2DAA2D;QAC3D,KAAK,MAAM,SAAS,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;YAC3C,MAAM,YAAY,GAAG,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YAChE,IAAI,CAAC,YAAY;gBAAE,SAAS;YAE5B,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;gBACxC,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBACxD,IAAI,CAAC,UAAU;oBAAE,SAAS,CAAC,mCAAmC;gBAE9D,gDAAgD;gBAChD,MAAM,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,KAAK,GAAG,CAAC,SAAS,CAAC,CAAC;gBACzF,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;gBAEhF,MAAM,KAAK,GAAgB;oBACvB,UAAU,EAAE,YAAY,CAAC,UAAU;oBACnC,SAAS,EAAE,YAAY,CAAC,SAAS;oBACjC,SAAS,EAAE,UAAU;oBACrB,gBAAgB,EAAE,UAAU,CAAC,UAAU;oBACvC,eAAe,EAAE,UAAU,CAAC,SAAS;oBACrC,eAAe,EAAE,IAAI,EAAE,uCAAuC;iBACjE,CAAC;gBAEF,4CAA4C;gBAC5C,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAC7B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU;oBACjC,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS;oBAC/B,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,CACvC,CAAC;gBACF,IAAI,CAAC,YAAY,EAAE,CAAC;oBAChB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACxB,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,UAAkB,EAAE,YAAkC;QACjE,OAAO;YACH,QAAQ,EAAE,UAAU;YACpB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI;YACrD,WAAW,EAAE,8EAA8E;SAC9F,CAAC;IACN,CAAC;CACJ"}
1
+ {"version":3,"file":"SoftFKConfigEmitter.js","sourceRoot":"","sources":["../src/SoftFKConfigEmitter.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,15 @@ export interface TargetTableConfig {
21
21
  TableName: string;
22
22
  /** MJ entity display name (e.g., "HubSpot Deal", "YM Member"). */
23
23
  EntityName: string;
24
- /** Column configurations. */
24
+ /** Human-readable description for the table (emitted as sp_addextendedproperty). */
25
+ Description?: string;
26
+ /**
27
+ * Primary key field name(s) from the source system.
28
+ * These columns get a UNIQUE constraint and are registered as soft PKs.
29
+ * Supports composite PKs (multiple fields). Must be a subset of Columns.
30
+ */
31
+ PrimaryKeyFields: string[];
32
+ /** Column configurations (includes PK fields — they are regular columns). */
25
33
  Columns: TargetColumnConfig[];
26
34
  /** Soft FK relationships to configure. */
27
35
  SoftForeignKeys: SoftFKEntry[];
@@ -44,6 +52,8 @@ export interface TargetColumnConfig {
44
52
  Scale: number | null;
45
53
  /** Default value SQL expression (null if none). */
46
54
  DefaultValue: string | null;
55
+ /** Human-readable description for the column (emitted as sp_addextendedproperty). */
56
+ Description?: string;
47
57
  }
48
58
  /** A single soft FK entry for additionalSchemaInfo. */
49
59
  export interface SoftFKEntry {
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"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"}
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.8.0",
4
+ "version": "5.10.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,8 @@
14
14
  "test:watch": "vitest"
15
15
  },
16
16
  "dependencies": {
17
- "@memberjunction/global": "5.8.0",
18
- "@memberjunction/integration-engine": "5.8.0"
17
+ "@memberjunction/global": "5.10.0",
18
+ "@memberjunction/integration-engine": "5.10.0"
19
19
  },
20
20
  "devDependencies": {
21
21
  "typescript": "^5.9.3",