@memberjunction/codegen-lib 0.9.62 → 0.9.67

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.
@@ -249,6 +249,18 @@ SELECT
249
249
  re.ID RelatedEntityID,
250
250
  fk.referenced_column RelatedEntityFieldName,
251
251
  IIF(sf.FieldName = 'Name', 1, 0) IsNameField,
252
+ IsPrimaryKey = CASE
253
+ WHEN pk.ColumnName IS NOT NULL THEN 1
254
+ ELSE 0
255
+ END,
256
+ IsUnique = CASE
257
+ WHEN pk.ColumnName IS NOT NULL THEN 1
258
+ ELSE
259
+ CASE
260
+ WHEN uk.ColumnName IS NOT NULL THEN 1
261
+ ELSE 0
262
+ END
263
+ END,
252
264
  ROW_NUMBER() OVER (PARTITION BY sf.EntityID, sf.FieldName ORDER BY (SELECT NULL)) AS rn
253
265
  FROM
254
266
  [${(0, config_1.mj_core_schema)()}].vwSQLColumnsAndEntityFields sf
@@ -267,6 +279,18 @@ LEFT OUTER JOIN
267
279
  ON
268
280
  re.BaseTable = fk.referenced_table AND
269
281
  re.SchemaName = fk.[schema_name]
282
+ LEFT OUTER JOIN
283
+ [${(0, config_1.mj_core_schema)()}].vwTablePrimaryKeys pk
284
+ ON
285
+ e.BaseTable = pk.TableName AND
286
+ sf.FieldName = pk.ColumnName AND
287
+ e.SchemaName = pk.SchemaName
288
+ LEFT OUTER JOIN
289
+ [${(0, config_1.mj_core_schema)()}].vwTableUniqueKeys uk
290
+ ON
291
+ e.BaseTable = uk.TableName AND
292
+ sf.FieldName = uk.ColumnName AND
293
+ e.SchemaName = uk.SchemaName
270
294
  WHERE
271
295
  EntityFieldID IS NULL -- only where we have NOT YET CREATED EntityField records\n${createExcludeTablesAndSchemasFilter('sf.')}
272
296
  )
@@ -303,7 +327,9 @@ function getPendingEntityFieldINSERTSQL(n) {
303
327
  IsNameField,
304
328
  IncludeInUserSearchAPI,
305
329
  IncludeRelatedEntityNameFieldInBaseView,
306
- DefaultInView
330
+ DefaultInView,
331
+ IsPrimaryKey,
332
+ IsUnique
307
333
  )
308
334
  VALUES
309
335
  (
@@ -325,7 +351,9 @@ function getPendingEntityFieldINSERTSQL(n) {
325
351
  ${n.IsNameField !== null ? n.IsNameField : 0},
326
352
  ${n.FieldName === 'ID' || n.IsNameField ? 1 : 0},
327
353
  ${n.RelatedEntityID && n.RelatedEntityID > 0 && n.Type.trim().toLowerCase() === 'int' ? 1 : 0},
328
- ${bDefaultInView ? 1 : 0}
354
+ ${bDefaultInView ? 1 : 0},
355
+ ${n.IsPrimaryKey},
356
+ ${n.IsUnique}
329
357
  )`;
330
358
  }
331
359
  function parseDefaultValue(sqlDefaultValue) {
@@ -451,38 +479,13 @@ async function createNewEntities(ds) {
451
479
  async function shouldCreateNewEntity(ds, newEntity) {
452
480
  // validate that the new entity meets our criteria for creation
453
481
  // criteria:
454
- // 1) entity has a field called "ID"
455
- // 2) the ID column is an integer, smallint, or bigint
456
- // 3) the ID column is NOT nullable
457
- // 4) the ID column is an identity column (e.g. it is auto-incrementing)
482
+ // 1) entity has a field that is a primary key
458
483
  // validate all of these factors by getting the sql from SQL Server and check the result, if failure, shouldCreate=false and generate validation message, otherwise return empty validation message and true for shouldCreate.
459
- const tableName = newEntity.SchemaName + '.' + newEntity.TableName;
460
- const query = `
461
- SELECT
462
- COLUMNPROPERTY(object_id('${tableName}'), 'ID', 'IsIdentity') as is_identity,
463
- c.is_nullable,
464
- t.name as data_type
465
- FROM
466
- sys.columns c
467
- JOIN
468
- sys.types t ON c.user_type_id = t.user_type_id
469
- WHERE
470
- object_id = object_id('${tableName}') AND
471
- c.name = 'ID'
472
- `;
484
+ const query = `EXEC admin.spGetPrimaryKeyForTable @TableName='${newEntity.TableName}', @SchemaName='${newEntity.SchemaName}'`;
473
485
  try {
474
486
  const result = await ds.query(query);
475
487
  if (result.length === 0) {
476
- return { shouldCreate: false, validationMessage: "ID column not found." };
477
- }
478
- const { is_identity, is_nullable, data_type } = result[0];
479
- const isValidType = ['int', 'smallint', 'bigint'].includes(data_type);
480
- if (!is_identity || is_nullable || !isValidType) {
481
- let validationMessage = 'Validation failed for ID column: ';
482
- validationMessage += !is_identity ? 'Not an identity column. ' : '';
483
- validationMessage += is_nullable ? 'Column is nullable. ' : '';
484
- validationMessage += !isValidType ? 'Invalid data type. ' : '';
485
- return { shouldCreate: false, validationMessage };
488
+ return { shouldCreate: false, validationMessage: "No primary key found" };
486
489
  }
487
490
  return { shouldCreate: true, validationMessage: '' };
488
491
  }
@@ -1 +1 @@
1
- {"version":3,"file":"manageMetadata.js","sourceRoot":"","sources":["../src/manageMetadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manageMetadata.js","sourceRoot":"","sources":["../src/manageMetadata.ts"],"names":[],"mappings":"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"}
@@ -27,9 +27,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.runMemberJunctionCodeGeneration = void 0;
30
- const react_client_codegen_1 = require("./react_client_codegen");
31
30
  const graphql_server_codegen_1 = require("./graphql_server_codegen");
32
- const graphql_client_codegen_1 = require("./graphql_client_codegen");
33
31
  const sql_codegen_1 = require("./sql_codegen");
34
32
  const entity_subclasses_codegen_1 = require("./entity_subclasses_codegen");
35
33
  const sqlserver_dataprovider_1 = require("@memberjunction/sqlserver-dataprovider");
@@ -66,6 +64,8 @@ async function runMemberJunctionCodeGeneration() {
66
64
  (0, logging_1.logError)('No entities found in metadata, exiting...'); // TODO: add a way to generate the metadata if it doesn't exist
67
65
  process.exit(1);
68
66
  }
67
+ const coreEntities = md.Entities.filter(e => e.SchemaName.trim().toLowerCase() === config_1.mjCoreSchema.trim().toLowerCase());
68
+ const nonCoreEntities = md.Entities.filter(e => e.SchemaName.trim().toLowerCase() !== config_1.mjCoreSchema.trim().toLowerCase());
69
69
  // check to see if the user wants to skip database generation via the config settings
70
70
  const skipDatabaseGeneration = (0, config_1.getSettingValue)('skip_database_generation', false);
71
71
  if (!skipDatabaseGeneration) {
@@ -115,14 +115,21 @@ async function runMemberJunctionCodeGeneration() {
115
115
  (0, logging_1.logStatus)("Skipping all database related CodeGen work because skip_database_generation was set to true in the config file under settings");
116
116
  }
117
117
  /****************************************************************************************
118
- // STEP 3 - GraphQL Server Code Gen
118
+ // STEP 3(a) - GraphQL Server Code Gen
119
119
  ****************************************************************************************/
120
+ const graphQLCoreResolversOutputDir = (0, config_1.outputDir)('GraphQLCoreEntityResolvers', false);
121
+ if (graphQLCoreResolversOutputDir) {
122
+ // generate the GraphQL server code
123
+ (0, logging_1.logStatus)('Generating CORE Entity GraphQL Resolver Code...');
124
+ if (!(0, graphql_server_codegen_1.generateGraphQLServerCode)(coreEntities, graphQLCoreResolversOutputDir))
125
+ (0, logging_1.logError)('Error generating GraphQL server code');
126
+ }
120
127
  const graphqlOutputDir = (0, config_1.outputDir)('GraphQLServer', true);
121
128
  if (graphqlOutputDir) {
122
129
  // generate the GraphQL server code
123
- (0, logging_1.logStatus)('Generating GraphQL Server Code...');
124
- if (!(0, graphql_server_codegen_1.generateGraphQLServerCode)(md.Entities, graphqlOutputDir))
125
- (0, logging_1.logError)('Error generating GraphQL server code');
130
+ (0, logging_1.logStatus)('Generating GraphQL Resolver Code...');
131
+ if (!(0, graphql_server_codegen_1.generateGraphQLServerCode)(nonCoreEntities, graphqlOutputDir))
132
+ (0, logging_1.logError)('Error generating GraphQL Resolver code');
126
133
  }
127
134
  else
128
135
  (0, logging_1.logStatus)('GraphQL server output directory NOT found in config file, skipping...');
@@ -133,12 +140,9 @@ async function runMemberJunctionCodeGeneration() {
133
140
  if (coreEntitySubClassOutputDir && coreEntitySubClassOutputDir.length > 0) {
134
141
  // generate the entity subclass code
135
142
  (0, logging_1.logStatus)('Generating CORE Entity Subclass Code...');
136
- const coreEntities = md.Entities.filter(e => e.SchemaName.trim().toLowerCase() === config_1.mjCoreSchema.trim().toLowerCase());
137
143
  if (!(0, entity_subclasses_codegen_1.generateAllEntitySubClasses)(coreEntities, coreEntitySubClassOutputDir))
138
144
  (0, logging_1.logError)('Error generating entity subclass code');
139
145
  }
140
- else
141
- (0, logging_1.logStatus)('CORE Entity subclass output directory NOT found in config file, skipping...');
142
146
  /****************************************************************************************
143
147
  // STEP 4.1 - Entity Subclass Code Gen
144
148
  ****************************************************************************************/
@@ -146,38 +150,13 @@ async function runMemberJunctionCodeGeneration() {
146
150
  if (entitySubClassOutputDir) {
147
151
  // generate the entity subclass code
148
152
  (0, logging_1.logStatus)('Generating Entity Subclass Code...');
149
- const nonCoreEntities = md.Entities.filter(e => e.SchemaName.trim().toLowerCase() !== config_1.mjCoreSchema.trim().toLowerCase());
150
153
  if (!(0, entity_subclasses_codegen_1.generateAllEntitySubClasses)(nonCoreEntities, entitySubClassOutputDir))
151
154
  (0, logging_1.logError)('Error generating entity subclass code');
152
155
  }
153
156
  else
154
157
  (0, logging_1.logStatus)('Entity subclass output directory NOT found in config file, skipping...');
155
158
  /****************************************************************************************
156
- // STEP 5 - GraphQL Client Code Gen
157
- ****************************************************************************************/
158
- const graphqlClientOutputDir = (0, config_1.outputDir)('GraphQLClient', false);
159
- if (graphqlClientOutputDir) {
160
- // generate the GraphQL client code
161
- (0, logging_1.logStatus)('Generating GraphQL Client Code...');
162
- if (!(0, graphql_client_codegen_1.generateGraphQLClientCode)(md.Entities, graphqlClientOutputDir))
163
- (0, logging_1.logError)('Error generating GraphQL client code');
164
- }
165
- else
166
- (0, logging_1.logStatus)('GraphQL client output directory NOT found in config file, skipping...');
167
- /****************************************************************************************
168
- // STEP 6 - React Code Gen
169
- ****************************************************************************************/
170
- const reactOutputDir = (0, config_1.outputDir)('React', false);
171
- if (reactOutputDir) {
172
- // generate the React
173
- (0, logging_1.logStatus)('Generating React Code...');
174
- if (!(0, react_client_codegen_1.generateReactCode)(md.Entities, reactOutputDir))
175
- (0, logging_1.logError)('Error generating React code');
176
- }
177
- else
178
- (0, logging_1.logStatus)('React output directory NOT found in config file, skipping...');
179
- /****************************************************************************************
180
- // STEP 7 - Angular Code Gen
159
+ // STEP 5 - Angular Code Gen
181
160
  ****************************************************************************************/
182
161
  const angularOutputDir = (0, config_1.outputDir)('Angular', false);
183
162
  if (angularOutputDir) {
@@ -189,7 +168,7 @@ async function runMemberJunctionCodeGeneration() {
189
168
  else
190
169
  (0, logging_1.logStatus)('Angular output directory NOT found in config file, skipping...');
191
170
  /****************************************************************************************
192
- // STEP 8 - Database Schema Output in JSON - for documentation and can be used by AI/etc.
171
+ // STEP 6 - Database Schema Output in JSON - for documentation and can be used by AI/etc.
193
172
  ****************************************************************************************/
194
173
  const dbSchemaOutputDir = (0, config_1.outputDir)('DBSchemaJSON', false);
195
174
  if (dbSchemaOutputDir) {
@@ -201,7 +180,7 @@ async function runMemberJunctionCodeGeneration() {
201
180
  else
202
181
  (0, logging_1.logStatus)('DB Schema output directory NOT found in config file, skipping...');
203
182
  /****************************************************************************************
204
- // STEP X --- Finalization Step - execute any AFTER commands specified in the config file
183
+ // STEP 7 --- Finalization Step - execute any AFTER commands specified in the config file
205
184
  ****************************************************************************************/
206
185
  const afterCommands = (0, config_1.commands)('AFTER');
207
186
  if (afterCommands && afterCommands.length > 0) {
@@ -211,7 +190,7 @@ async function runMemberJunctionCodeGeneration() {
211
190
  (0, logging_1.logError)('ERROR running one or more AFTER commands');
212
191
  }
213
192
  /****************************************************************************************
214
- // STEP X.1 --- Execute any AFTER SQL Scripts specified in the config file
193
+ // STEP 8 --- Execute any AFTER SQL Scripts specified in the config file
215
194
  ****************************************************************************************/
216
195
  if (!await (0, sql_codegen_1.runCustomSQLScripts)(db_1.default, 'after-all'))
217
196
  (0, logging_1.logError)('ERROR running after-all SQL Scripts');
@@ -1 +1 @@
1
- {"version":3,"file":"runCodeGen.js","sourceRoot":"","sources":["../src/runCodeGen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runCodeGen.js","sourceRoot":"","sources":["../src/runCodeGen.ts"],"names":[],"mappings":"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"}
@@ -144,9 +144,9 @@ async function generateAndExecuteAllEntitiesSQLToSeparateFiles(ds, entities, dir
144
144
  for (let i = 0; i < totalEntities; i += batchSize) {
145
145
  const batch = entities.slice(i, i + batchSize);
146
146
  const promises = batch.map(async (e) => {
147
- const idField = e.Fields.find(f => f.Name.toLowerCase().trim() === 'id');
148
- if (!idField) {
149
- (0, logging_1.logError)(`SKIPPING ENTITY: Entity ${e.Name}, because it does not have an ID field defined which is required for a MemberJunction entity`);
147
+ const pkeyField = e.Fields.find(f => f.IsPrimaryKey);
148
+ if (!pkeyField) {
149
+ (0, logging_1.logError)(`SKIPPING ENTITY: Entity ${e.Name}, because it does not have a primary key field defined. A table must have a primary key defined to quality to be a MemberJunction entity`);
150
150
  return false;
151
151
  }
152
152
  return generateAndExecuteSingleEntitySQLToSeparateFiles(ds, e, directory, onlyPermissions);
@@ -379,7 +379,7 @@ async function generateEntityFullTextSearchSQL(ds, entity) {
379
379
  throw new Error('Could not find the first user in the cache, cant generate the full text search function without a user');
380
380
  const e = await md.GetEntityObject('Entities', u);
381
381
  await e.Load(entity.ID);
382
- e.Set('FullTextSearchFunction', functionName);
382
+ e.FullTextSearchFunction = functionName;
383
383
  if (!await e.Save())
384
384
  throw new Error(`Could not update the FullTextSearchFunction for entity ${entity.Name}`);
385
385
  }
@@ -461,9 +461,10 @@ async function generateBaseView(ds, entity) {
461
461
  const permissions = generateViewPermissions(entity);
462
462
  return `
463
463
  ------------------------------------------------------------
464
- ----- BASE VIEW FOR ENTITY: ${entity.Name}
465
- ----- SCHEMA: ${entity.SchemaName}
466
- ----- BASE TABLE: ${entity.BaseTable}
464
+ ----- BASE VIEW FOR ENTITY: ${entity.Name}
465
+ ----- SCHEMA: ${entity.SchemaName}
466
+ ----- BASE TABLE: ${entity.BaseTable}
467
+ ----- PRIMARY KEY: ${entity.PrimaryKey.Name}
467
468
  ------------------------------------------------------------
468
469
  DROP VIEW IF EXISTS [${entity.SchemaName}].[${viewName}]
469
470
  GO
@@ -580,8 +581,25 @@ function generateFullTextSearchFunctionPermissions(entity, functionName) {
580
581
  }
581
582
  function generateSPCreate(entity) {
582
583
  const spName = entity.spCreate ? entity.spCreate : `spCreate${entity.ClassName}`;
583
- const efString = createEntityFieldsParamString(entity.Fields, false);
584
+ const autoGeneratedPrimaryKey = entity.PrimaryKey.AutoIncrement || entity.PrimaryKey.Type.toLowerCase().trim() === 'uniqueidentifier';
585
+ const efString = createEntityFieldsParamString(entity.Fields, !autoGeneratedPrimaryKey);
584
586
  const permissions = generateSPPermissions(entity, spName, exports.SPType.Create);
587
+ let primaryKeyInsertValue = '';
588
+ let selectInsertedRecord = '';
589
+ let additionalFieldList = '';
590
+ let additionalValueList = '';
591
+ if (entity.PrimaryKey.AutoIncrement) {
592
+ selectInsertedRecord = `SELECT * FROM [${entity.SchemaName}].[${entity.BaseView}] WHERE ${entity.PrimaryKey.Name} = SCOPE_IDENTITY()`;
593
+ }
594
+ else if (entity.PrimaryKey.Type.toLowerCase().trim() === 'uniqueidentifier') {
595
+ primaryKeyInsertValue = `DECLARE @newId UNIQUEIDENTIFIER = NEWID();\n SET @${entity.PrimaryKey.Name} = @newId;\n`;
596
+ additionalFieldList = ',\n ' + entity.PrimaryKey.Name;
597
+ additionalValueList = ',\n @newId';
598
+ selectInsertedRecord = `SELECT * FROM [${entity.SchemaName}].[${entity.BaseView}] WHERE ${entity.PrimaryKey.Name} = @newId`;
599
+ }
600
+ else {
601
+ selectInsertedRecord = `SELECT * FROM [${entity.SchemaName}].[${entity.BaseView}] WHERE ${entity.PrimaryKey.Name} = @${entity.PrimaryKey.Name}`;
602
+ }
585
603
  return `
586
604
  ------------------------------------------------------------
587
605
  ----- CREATE PROCEDURE FOR ${entity.BaseTable}
@@ -594,18 +612,18 @@ CREATE PROCEDURE [${entity.SchemaName}].[${spName}]
594
612
  AS
595
613
  BEGIN
596
614
  SET NOCOUNT ON;
615
+ ${primaryKeyInsertValue}
597
616
  INSERT INTO
598
617
  [${entity.SchemaName}].[${entity.BaseTable}]
599
618
  (
600
- ${createEntityFieldsInsertString(entity.Fields, '')}
619
+ ${createEntityFieldsInsertString(entity, entity.Fields, '')}${additionalFieldList}
601
620
  )
602
621
  VALUES
603
622
  (
604
- ${createEntityFieldsInsertString(entity.Fields, '@')}
623
+ ${createEntityFieldsInsertString(entity, entity.Fields, '@')}${additionalValueList}
605
624
  )
606
-
607
625
  -- return the new record from the base view, which might have some calculated fields
608
- SELECT * FROM [${entity.SchemaName}].[${entity.BaseView}] WHERE ID = SCOPE_IDENTITY()
626
+ ${selectInsertedRecord}
609
627
  END
610
628
  GO${permissions}
611
629
  `;
@@ -631,21 +649,21 @@ BEGIN
631
649
  SET
632
650
  ${createEntityFieldsUpdateString(entity.Fields)}
633
651
  WHERE
634
- [ID] = @ID
652
+ [${entity.PrimaryKey.Name}] = @${entity.PrimaryKey.Name}
635
653
 
636
654
  -- return the updated record so the caller can see the updated values and any calculated fields
637
- SELECT * FROM [${entity.SchemaName}].${entity.BaseView} WHERE ID = @ID
655
+ SELECT * FROM [${entity.SchemaName}].[${entity.BaseView}] WHERE [${entity.PrimaryKey.Name}] = @${entity.PrimaryKey.Name}
638
656
  END
639
657
  GO${permissions}
640
658
  `;
641
659
  }
642
- function createEntityFieldsParamString(entityFields, includeID) {
660
+ function createEntityFieldsParamString(entityFields, includePrimaryKey) {
643
661
  let sOutput = '', isFirst = true;
644
662
  for (let i = 0; i < entityFields.length; ++i) {
645
663
  const ef = entityFields[i];
646
- if ((ef.AllowUpdateAPI || (ef.Name == 'ID' && includeID)) &&
664
+ if ((ef.AllowUpdateAPI || (ef.IsPrimaryKey && includePrimaryKey)) &&
647
665
  !ef.IsVirtual &&
648
- (ef.Name !== 'ID' || includeID) &&
666
+ (!ef.IsPrimaryKey || includePrimaryKey) &&
649
667
  ef.Name.toLowerCase().trim() !== 'updatedat' &&
650
668
  ef.Name.toLowerCase().trim() !== 'createdat' &&
651
669
  ef.Type.toLowerCase().trim() !== 'uniqueidentifier') {
@@ -658,11 +676,12 @@ function createEntityFieldsParamString(entityFields, includeID) {
658
676
  }
659
677
  return sOutput;
660
678
  }
661
- function createEntityFieldsInsertString(entityFields, prefix) {
679
+ function createEntityFieldsInsertString(entity, entityFields, prefix) {
680
+ const autoGeneratedPrimaryKey = entity.PrimaryKey.AutoIncrement || entity.PrimaryKey.Type.toLowerCase().trim() === 'uniqueidentifier';
662
681
  let sOutput = '', isFirst = true;
663
682
  for (let i = 0; i < entityFields.length; ++i) {
664
683
  const ef = entityFields[i];
665
- if (ef.Name !== 'ID' &&
684
+ if ((!ef.IsPrimaryKey || !autoGeneratedPrimaryKey) &&
666
685
  ef.IsVirtual === false &&
667
686
  ef.AllowUpdateAPI &&
668
687
  ef.AutoIncrement === false &&
@@ -688,7 +707,7 @@ function createEntityFieldsUpdateString(entityFields) {
688
707
  let sOutput = '', isFirst = true;
689
708
  for (let i = 0; i < entityFields.length; ++i) {
690
709
  const ef = entityFields[i];
691
- if (ef.Name !== 'ID' &&
710
+ if (!ef.IsPrimaryKey &&
692
711
  ef.IsVirtual === false &&
693
712
  ef.AllowUpdateAPI &&
694
713
  ef.AutoIncrement === false &&
@@ -723,15 +742,15 @@ DROP PROCEDURE IF EXISTS [${entity.SchemaName}].[${spName}]
723
742
  GO
724
743
 
725
744
  CREATE PROCEDURE [${entity.SchemaName}].[${spName}]
726
- @ID INT
745
+ @${entity.PrimaryKey.Name} ${entity.PrimaryKey.SQLFullType}
727
746
  AS
728
747
  BEGIN
729
748
  SET NOCOUNT ON;${sCascadeDeletes}
730
749
  DELETE FROM
731
750
  [${entity.SchemaName}].[${entity.BaseTable}]
732
751
  WHERE
733
- [ID] = @ID
734
- SELECT @ID AS ID -- Return the ID to indicate we successfully deleted the record
752
+ [${entity.PrimaryKey.Name}] = @${entity.PrimaryKey.Name}
753
+ SELECT @${entity.PrimaryKey.Name} AS ${entity.PrimaryKey.Name} -- Return the primary key value to indicate we successfully deleted the record
735
754
  END
736
755
  GO${permissions}
737
756
  `;
@@ -757,7 +776,7 @@ function generateCascadeDeletes(entity) {
757
776
  DELETE FROM
758
777
  [${e.SchemaName}].[${e.BaseTable}]
759
778
  WHERE
760
- [${ef.Name}] = @ID`;
779
+ [${ef.Name}] = @${entity.PrimaryKey.Name}`;
761
780
  }
762
781
  else {
763
782
  // we have a non-virtual field that is a foreign key to this entity
@@ -770,7 +789,7 @@ function generateCascadeDeletes(entity) {
770
789
  SET
771
790
  [${ef.Name}] = NULL
772
791
  WHERE
773
- [${ef.Name}] = @ID`;
792
+ [${ef.Name}] = @${entity.PrimaryKey.Name}`;
774
793
  }
775
794
  if (sOutput !== '')
776
795
  sOutput += '\n ';