@memberjunction/codegen-lib 2.0.0 → 2.1.1
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/Config/db-connection.d.ts +3 -0
- package/dist/Config/db-connection.d.ts.map +1 -1
- package/dist/Config/db-connection.js +46 -1
- package/dist/Config/db-connection.js.map +1 -1
- package/dist/Database/manage-metadata.d.ts +1 -1
- package/dist/Database/manage-metadata.d.ts.map +1 -1
- package/dist/Database/manage-metadata.js +13 -10
- package/dist/Database/manage-metadata.js.map +1 -1
- package/dist/Database/sql.d.ts +6 -1
- package/dist/Database/sql.d.ts.map +1 -1
- package/dist/Database/sql.js +126 -36
- package/dist/Database/sql.js.map +1 -1
- package/dist/Database/sql_codegen.d.ts +12 -4
- package/dist/Database/sql_codegen.d.ts.map +1 -1
- package/dist/Database/sql_codegen.js +150 -84
- package/dist/Database/sql_codegen.js.map +1 -1
- package/dist/Misc/util.d.ts +1 -0
- package/dist/Misc/util.d.ts.map +1 -1
- package/dist/Misc/util.js +24 -2
- package/dist/Misc/util.js.map +1 -1
- package/dist/action_subclasses_codegen.js +1 -1
- package/dist/action_subclasses_codegen.js.map +1 -1
- package/dist/entity_types_codegen.d.ts +15 -0
- package/dist/entity_types_codegen.d.ts.map +1 -0
- package/dist/entity_types_codegen.js +106 -0
- package/dist/entity_types_codegen.js.map +1 -0
- package/dist/runCodeGen.d.ts.map +1 -1
- package/dist/runCodeGen.js +27 -4
- package/dist/runCodeGen.js.map +1 -1
- package/package.json +8 -7
|
@@ -74,34 +74,39 @@ let SQLCodeGenBase = class SQLCodeGenBase {
|
|
|
74
74
|
const baselineEntities = entities.filter(e => e.IncludeInAPI);
|
|
75
75
|
const includedEntities = baselineEntities.filter(e => config_1.configInfo.excludeSchemas.find(s => s.toLowerCase() === e.SchemaName.toLowerCase()) === undefined); //only include entities that are NOT in the excludeSchemas list
|
|
76
76
|
const excludedEntities = baselineEntities.filter(e => config_1.configInfo.excludeSchemas.find(s => s.toLowerCase() === e.SchemaName.toLowerCase()) !== undefined); //only include entities that ARE in the excludeSchemas list in this array
|
|
77
|
-
// STEP 2(a) -
|
|
77
|
+
// STEP 2(a) - clean out all *.generated.sql and *.permissions.generated.sql files from the directory
|
|
78
|
+
this.deleteGeneratedEntityFiles(directory, baselineEntities);
|
|
79
|
+
// STEP 2(b) - generate all the SQL files and execute them
|
|
78
80
|
const step2StartTime = new Date();
|
|
79
|
-
|
|
80
|
-
|
|
81
|
+
const genResult = await this.generateAndExecuteEntitySQLToSeparateFiles(ds, includedEntities, directory, false, true);
|
|
82
|
+
if (!genResult.Success) {
|
|
83
|
+
(0, logging_1.logError)('Error generating all entities SQL to separate files');
|
|
81
84
|
return false;
|
|
82
85
|
}
|
|
83
|
-
// STEP 2(
|
|
84
|
-
|
|
85
|
-
|
|
86
|
+
// STEP 2(c) - for the excludedEntities, while we don't want to generate SQL, we do want to generate the permissions files for them
|
|
87
|
+
const genResult2 = await this.generateAndExecuteEntitySQLToSeparateFiles(ds, excludedEntities, directory, true, true);
|
|
88
|
+
if (!genResult2.Success) {
|
|
89
|
+
(0, logging_1.logError)('Error generating permissions SQL for excluded entities to separate files');
|
|
86
90
|
return false;
|
|
87
91
|
}
|
|
88
|
-
(0, logging_1.logStatus)(` Time to
|
|
89
|
-
// now that we've generated the SQL, let's create a combined file in each schema sub-directory for convenience for a DBA
|
|
90
|
-
this.createCombinedEntitySQLFiles(directory, baselineEntities);
|
|
92
|
+
(0, logging_1.logStatus)(` Time to generate entity SQL: ${(new Date().getTime() - step2StartTime.getTime()) / 1000} seconds`);
|
|
93
|
+
// STEP 2(d) now that we've generated the SQL, let's create a combined file in each schema sub-directory for convenience for a DBA
|
|
94
|
+
const allEntityFiles = this.createCombinedEntitySQLFiles(directory, baselineEntities);
|
|
95
|
+
// STEP 2(e) ---- FINALLY, we now execute all the combined files by schema;
|
|
96
|
+
const step2eStartTime = new Date();
|
|
97
|
+
if (!await this.SQLUtilityObject.executeSQLFiles(allEntityFiles, true)) {
|
|
98
|
+
(0, logging_1.logError)('Error executing combined entity SQL files');
|
|
99
|
+
return false;
|
|
100
|
+
}
|
|
101
|
+
const step2eEndTime = new Date();
|
|
102
|
+
(0, logging_1.logStatus)(` Time to Execute Combined Entity SQL: ${(step2eEndTime.getTime() - step2eStartTime.getTime()) / 1000} seconds`);
|
|
91
103
|
const manageMD = global_1.MJGlobal.Instance.ClassFactory.CreateInstance(manage_metadata_1.ManageMetadataBase);
|
|
92
104
|
// STEP 3 - re-run the process to manage entity fields since the Step 1 and 2 above might have resulted in differences in base view columns compared to what we had at first
|
|
93
|
-
|
|
105
|
+
// we CAN skip the entity field values part because that wouldn't change from the first time we ran it
|
|
106
|
+
if (!await manageMD.manageEntityFields(ds, config_1.configInfo.excludeSchemas, true, true)) {
|
|
94
107
|
(0, logging_1.logError)('Error managing entity fields');
|
|
95
108
|
return false;
|
|
96
109
|
}
|
|
97
|
-
// no logStatus/timer for this because manageEntityFields() has its own internal logging for this including the total, so it is redundant to log it here
|
|
98
|
-
// STEP 4- Apply permissions, executing all .permissions files
|
|
99
|
-
const step4StartTime = new Date();
|
|
100
|
-
if (!await this.applyPermissions(ds, directory, baselineEntities)) {
|
|
101
|
-
(0, logging_1.logError)('Error applying permissions');
|
|
102
|
-
return false;
|
|
103
|
-
}
|
|
104
|
-
(0, logging_1.logStatus)(` Time to Apply Permissions: ${(new Date().getTime() - step4StartTime.getTime()) / 1000} seconds`);
|
|
105
110
|
// STEP 5 - execute any custom SQL scripts that should run afterwards
|
|
106
111
|
const step5StartTime = new Date();
|
|
107
112
|
if (!await this.runCustomSQLScripts(ds, 'after-sql'))
|
|
@@ -125,7 +130,7 @@ let SQLCodeGenBase = class SQLCodeGenBase {
|
|
|
125
130
|
if (scripts) {
|
|
126
131
|
for (let i = 0; i < scripts.length; ++i) {
|
|
127
132
|
const s = scripts[i];
|
|
128
|
-
if (!await this.SQLUtilityObject.executeSQLFile(
|
|
133
|
+
if (!await this.SQLUtilityObject.executeSQLFile(s.scriptFile)) {
|
|
129
134
|
(0, logging_1.logError)(`Error executing custom '${when}' SQL script ${s.scriptFile}`);
|
|
130
135
|
bSuccess = false; // keep going if we have more scripts, but make sure we return false
|
|
131
136
|
}
|
|
@@ -150,7 +155,7 @@ let SQLCodeGenBase = class SQLCodeGenBase {
|
|
|
150
155
|
for (const f of files) {
|
|
151
156
|
const fullPath = path_1.default.join(directory, f);
|
|
152
157
|
if (fs.existsSync(fullPath)) {
|
|
153
|
-
if (!await this.SQLUtilityObject.executeSQLFile(
|
|
158
|
+
if (!await this.SQLUtilityObject.executeSQLFile(fullPath))
|
|
154
159
|
innerSuccess = false; // we keep going, just note that something failed
|
|
155
160
|
}
|
|
156
161
|
else {
|
|
@@ -181,7 +186,8 @@ let SQLCodeGenBase = class SQLCodeGenBase {
|
|
|
181
186
|
* @param directory The directory to save the generated SQL files to
|
|
182
187
|
* @param onlyPermissions If true, only the permissions files will be generated and executed, not the actual SQL files. Use this if you are simply setting permission changes but no actual changes to the entities have occured.
|
|
183
188
|
*/
|
|
184
|
-
async generateAndExecuteEntitySQLToSeparateFiles(ds, entities, directory, onlyPermissions, writeFiles = true, batchSize = 5) {
|
|
189
|
+
async generateAndExecuteEntitySQLToSeparateFiles(ds, entities, directory, onlyPermissions, skipExecution = false, writeFiles = true, batchSize = 5) {
|
|
190
|
+
const files = [];
|
|
185
191
|
try {
|
|
186
192
|
let bFail = false;
|
|
187
193
|
const totalEntities = entities.length;
|
|
@@ -191,46 +197,80 @@ let SQLCodeGenBase = class SQLCodeGenBase {
|
|
|
191
197
|
const pkeyField = e.Fields.find(f => f.IsPrimaryKey);
|
|
192
198
|
if (!pkeyField) {
|
|
193
199
|
(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`);
|
|
194
|
-
return false;
|
|
200
|
+
return { Success: false, Files: [] };
|
|
195
201
|
}
|
|
196
|
-
return this.generateAndExecuteSingleEntitySQLToSeparateFiles(ds, e, directory, onlyPermissions, writeFiles);
|
|
202
|
+
return this.generateAndExecuteSingleEntitySQLToSeparateFiles(ds, e, directory, onlyPermissions, skipExecution, writeFiles);
|
|
197
203
|
});
|
|
198
204
|
const results = await Promise.all(promises);
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
205
|
+
results.forEach(r => {
|
|
206
|
+
if (!r.Success)
|
|
207
|
+
bFail = true; // keep going, but will return false at the end
|
|
208
|
+
files.push(...r.Files); // add the files to the main files array
|
|
209
|
+
});
|
|
202
210
|
}
|
|
203
|
-
return !bFail;
|
|
211
|
+
return { Success: !bFail, Files: files };
|
|
204
212
|
}
|
|
205
213
|
catch (err) {
|
|
206
214
|
(0, logging_1.logError)(err);
|
|
207
|
-
return false;
|
|
215
|
+
return { Success: false, Files: files };
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
deleteGeneratedEntityFiles(directory, entities) {
|
|
219
|
+
try {
|
|
220
|
+
// for the schemas associated with the specified entities, clean out all the generated files
|
|
221
|
+
const schemaNames = entities.map(e => e.SchemaName).filter((value, index, self) => self.indexOf(value) === index);
|
|
222
|
+
for (const s of schemaNames) {
|
|
223
|
+
const fullPath = path_1.default.join(directory, s);
|
|
224
|
+
// now, within each schema directory, clean out all the generated files
|
|
225
|
+
// the generated files map this pattern: *.generated.sql or *.permissions.generated.sql
|
|
226
|
+
if (fs.statSync(fullPath).isDirectory()) {
|
|
227
|
+
const files = fs.readdirSync(fullPath).filter(f => f.endsWith('.generated.sql') || f.endsWith('.permissions.generated.sql'));
|
|
228
|
+
for (const f of files) {
|
|
229
|
+
const filePath = path_1.default.join(fullPath, f);
|
|
230
|
+
fs.unlinkSync(filePath);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
catch (e) {
|
|
236
|
+
(0, logging_1.logError)(e);
|
|
208
237
|
}
|
|
209
238
|
}
|
|
210
|
-
|
|
239
|
+
createCombinedEntitySQLFiles(directory, entities) {
|
|
211
240
|
// first, get a disinct list of schemanames from the entities
|
|
241
|
+
const files = [];
|
|
212
242
|
const schemaNames = entities.map(e => e.SchemaName).filter((value, index, self) => self.indexOf(value) === index);
|
|
213
243
|
for (const s of schemaNames) {
|
|
214
244
|
// generate the all-entities.sql file and all-entities.permissions.sql file in each schema folder
|
|
215
245
|
const fullPath = path_1.default.join(directory, s);
|
|
216
246
|
if (fs.statSync(fullPath).isDirectory()) {
|
|
217
247
|
(0, util_1.combineFiles)(fullPath, '_all_entities.sql', '*.generated.sql', true);
|
|
248
|
+
files.push(path_1.default.join(fullPath, '_all_entities.sql'));
|
|
218
249
|
(0, util_1.combineFiles)(fullPath, '_all_entities.permissions.sql', '*.permissions.generated.sql', true);
|
|
250
|
+
files.push(path_1.default.join(fullPath, '_all_entities.permissions.sql'));
|
|
219
251
|
}
|
|
220
252
|
}
|
|
253
|
+
return files;
|
|
221
254
|
}
|
|
222
|
-
async generateAndExecuteSingleEntitySQLToSeparateFiles(ds, entity, directory, onlyPermissions, writeFiles = true) {
|
|
255
|
+
async generateAndExecuteSingleEntitySQLToSeparateFiles(ds, entity, directory, onlyPermissions, skipExecution = false, writeFiles = true) {
|
|
223
256
|
try {
|
|
224
|
-
const { sql, permissionsSQL } = await this.generateSingleEntitySQLToSeparateFiles(ds, entity, directory, onlyPermissions, writeFiles); // this creates the files and returns a single string with all the SQL we can then execute
|
|
225
|
-
|
|
226
|
-
|
|
257
|
+
const { sql, permissionsSQL, files } = await this.generateSingleEntitySQLToSeparateFiles(ds, entity, directory, onlyPermissions, skipExecution, writeFiles); // this creates the files and returns a single string with all the SQL we can then execute
|
|
258
|
+
if (!skipExecution) {
|
|
259
|
+
return {
|
|
260
|
+
Success: await this.SQLUtilityObject.executeSQLScript(ds, sql + "\n\nGO\n\n" + permissionsSQL, true), // combine the SQL and permissions and execute it,
|
|
261
|
+
Files: files
|
|
262
|
+
};
|
|
263
|
+
}
|
|
264
|
+
else
|
|
265
|
+
return { Success: true, Files: files };
|
|
227
266
|
}
|
|
228
267
|
catch (err) {
|
|
229
268
|
(0, logging_1.logError)(err);
|
|
230
|
-
return false;
|
|
269
|
+
return { Success: false, Files: [] };
|
|
231
270
|
}
|
|
232
271
|
}
|
|
233
|
-
async generateSingleEntitySQLToSeparateFiles(ds, entity, directory, onlyPermissions, writeFiles = true) {
|
|
272
|
+
async generateSingleEntitySQLToSeparateFiles(ds, entity, directory, onlyPermissions, skipExecution = false, writeFiles = true) {
|
|
273
|
+
const files = [];
|
|
234
274
|
try {
|
|
235
275
|
// create the directory if it doesn't exist
|
|
236
276
|
if (writeFiles && !fs.existsSync(directory))
|
|
@@ -246,16 +286,21 @@ let SQLCodeGenBase = class SQLCodeGenBase {
|
|
|
246
286
|
// generate the base view
|
|
247
287
|
const s = this.generateSingleEntitySQLFileHeader(entity, entity.BaseView) + await this.generateBaseView(ds, entity);
|
|
248
288
|
const filePath = path_1.default.join(directory, this.SQLUtilityObject.getDBObjectFileName('view', entity.SchemaName, entity.BaseView, false, true));
|
|
249
|
-
if (writeFiles)
|
|
289
|
+
if (writeFiles) {
|
|
250
290
|
fs.writeFileSync(filePath, s);
|
|
291
|
+
files.push(filePath);
|
|
292
|
+
}
|
|
251
293
|
sRet += s + '\nGO\n';
|
|
252
294
|
}
|
|
253
295
|
// always generate permissions for the base view
|
|
254
296
|
const s = this.generateSingleEntitySQLFileHeader(entity, 'Permissions for ' + entity.BaseView) + this.generateViewPermissions(entity);
|
|
255
297
|
if (s.length > 0)
|
|
256
298
|
permissionsSQL += s + '\nGO\n';
|
|
257
|
-
if (writeFiles)
|
|
258
|
-
|
|
299
|
+
if (writeFiles) {
|
|
300
|
+
const filePath = path_1.default.join(directory, this.SQLUtilityObject.getDBObjectFileName('view', entity.SchemaName, entity.BaseView, true, true));
|
|
301
|
+
fs.writeFileSync(filePath, s);
|
|
302
|
+
files.push(filePath);
|
|
303
|
+
}
|
|
259
304
|
// now, append the permissions to the return string IF we did NOT generate the base view - because if we generated the base view, that
|
|
260
305
|
// means we already generated the permissions for it above and it is part of sRet already, but we always save it to a file, (per above line)
|
|
261
306
|
if (!entity.BaseViewGenerated)
|
|
@@ -266,15 +311,21 @@ let SQLCodeGenBase = class SQLCodeGenBase {
|
|
|
266
311
|
if (!onlyPermissions && entity.spCreateGenerated) {
|
|
267
312
|
// generate the create SP
|
|
268
313
|
const s = this.generateSingleEntitySQLFileHeader(entity, spName) + this.generateSPCreate(entity);
|
|
269
|
-
if (writeFiles)
|
|
270
|
-
|
|
314
|
+
if (writeFiles) {
|
|
315
|
+
const filePath = path_1.default.join(directory, this.SQLUtilityObject.getDBObjectFileName('sp', entity.SchemaName, spName, false, true));
|
|
316
|
+
fs.writeFileSync(filePath, s);
|
|
317
|
+
files.push(filePath);
|
|
318
|
+
}
|
|
271
319
|
sRet += s + '\nGO\n';
|
|
272
320
|
}
|
|
273
321
|
const s = this.generateSPPermissions(entity, spName, exports.SPType.Create) + '\n\n';
|
|
274
322
|
if (s.length > 0)
|
|
275
323
|
permissionsSQL += s + '\nGO\n';
|
|
276
|
-
if (writeFiles)
|
|
277
|
-
|
|
324
|
+
if (writeFiles) {
|
|
325
|
+
const filePath = path_1.default.join(directory, this.SQLUtilityObject.getDBObjectFileName('sp', entity.SchemaName, spName, true, true));
|
|
326
|
+
fs.writeFileSync(filePath, s);
|
|
327
|
+
files.push(filePath);
|
|
328
|
+
}
|
|
278
329
|
// now, append the permissions to the return string IF we did NOT generate the proc - because if we generated the proc, that
|
|
279
330
|
// means we already generated the permissions for it above and it is part of sRet already, but we always save it to a file, (per above line)
|
|
280
331
|
if (!entity.spCreateGenerated)
|
|
@@ -286,15 +337,21 @@ let SQLCodeGenBase = class SQLCodeGenBase {
|
|
|
286
337
|
if (!onlyPermissions && entity.spUpdateGenerated) {
|
|
287
338
|
// generate the update SP
|
|
288
339
|
const s = this.generateSingleEntitySQLFileHeader(entity, spName) + this.generateSPUpdate(entity);
|
|
289
|
-
if (writeFiles)
|
|
290
|
-
|
|
340
|
+
if (writeFiles) {
|
|
341
|
+
const filePath = path_1.default.join(directory, this.SQLUtilityObject.getDBObjectFileName('sp', entity.SchemaName, spName, false, true));
|
|
342
|
+
fs.writeFileSync(filePath, s);
|
|
343
|
+
files.push(filePath);
|
|
344
|
+
}
|
|
291
345
|
sRet += s + '\nGO\n';
|
|
292
346
|
}
|
|
293
347
|
const s = this.generateSPPermissions(entity, spName, exports.SPType.Update) + '\n\n';
|
|
294
348
|
if (s.length > 0)
|
|
295
349
|
permissionsSQL += s + '\nGO\n';
|
|
296
|
-
if (writeFiles)
|
|
297
|
-
|
|
350
|
+
if (writeFiles) {
|
|
351
|
+
const filePath = path_1.default.join(directory, this.SQLUtilityObject.getDBObjectFileName('sp', entity.SchemaName, spName, true, true));
|
|
352
|
+
fs.writeFileSync(filePath, s);
|
|
353
|
+
files.push(filePath);
|
|
354
|
+
}
|
|
298
355
|
// now, append the permissions to the return string IF we did NOT generate the proc - because if we generated the proc, that
|
|
299
356
|
// means we already generated the permissions for it above and it is part of sRet already, but we always save it to a file, (per above line)
|
|
300
357
|
if (!entity.spUpdateGenerated)
|
|
@@ -306,15 +363,21 @@ let SQLCodeGenBase = class SQLCodeGenBase {
|
|
|
306
363
|
if (!onlyPermissions && entity.spDeleteGenerated) {
|
|
307
364
|
// generate the delete SP
|
|
308
365
|
const s = this.generateSingleEntitySQLFileHeader(entity, spName) + this.generateSPDelete(entity);
|
|
309
|
-
if (writeFiles)
|
|
310
|
-
|
|
366
|
+
if (writeFiles) {
|
|
367
|
+
const filePath = path_1.default.join(directory, this.SQLUtilityObject.getDBObjectFileName('sp', entity.SchemaName, spName, false, true));
|
|
368
|
+
fs.writeFileSync(filePath, s);
|
|
369
|
+
files.push(filePath);
|
|
370
|
+
}
|
|
311
371
|
sRet += s + '\nGO\n';
|
|
312
372
|
}
|
|
313
373
|
const s = this.generateSPPermissions(entity, spName, exports.SPType.Delete) + '\n\n';
|
|
314
374
|
if (s.length > 0)
|
|
315
375
|
permissionsSQL += s + '\nGO\n';
|
|
316
|
-
if (writeFiles)
|
|
317
|
-
|
|
376
|
+
if (writeFiles) {
|
|
377
|
+
const filePath = path_1.default.join(directory, this.SQLUtilityObject.getDBObjectFileName('sp', entity.SchemaName, spName, true, true));
|
|
378
|
+
fs.writeFileSync(filePath, s);
|
|
379
|
+
files.push(filePath);
|
|
380
|
+
}
|
|
318
381
|
// now, append the permissions to the return string IF we did NOT generate the proc - because if we generated the proc, that
|
|
319
382
|
// means we already generated the permissions for it above and it is part of sRet already, but we always save it to a file, (per above line)
|
|
320
383
|
if (!entity.spDeleteGenerated)
|
|
@@ -327,22 +390,26 @@ let SQLCodeGenBase = class SQLCodeGenBase {
|
|
|
327
390
|
if (!onlyPermissions) {
|
|
328
391
|
// only write the actual sql out if we're not only generating permissions
|
|
329
392
|
const filePath = path_1.default.join(directory, this.SQLUtilityObject.getDBObjectFileName('full_text_search_function', entity.SchemaName, entity.BaseTable, false, true));
|
|
330
|
-
if (writeFiles)
|
|
393
|
+
if (writeFiles) {
|
|
331
394
|
fs.writeFileSync(filePath, ft.sql);
|
|
395
|
+
files.push(filePath);
|
|
396
|
+
}
|
|
332
397
|
sRet += ft.sql + '\nGO\n';
|
|
333
398
|
}
|
|
334
399
|
const sP = this.generateFullTextSearchFunctionPermissions(entity, ft.functionName) + '\n\n';
|
|
335
400
|
if (sP.length > 0)
|
|
336
401
|
permissionsSQL += sP + '\nGO\n';
|
|
337
402
|
const filePath = path_1.default.join(directory, this.SQLUtilityObject.getDBObjectFileName('full_text_search_function', entity.SchemaName, entity.BaseTable, true, true));
|
|
338
|
-
if (writeFiles)
|
|
403
|
+
if (writeFiles) {
|
|
339
404
|
fs.writeFileSync(filePath, sP);
|
|
405
|
+
files.push(filePath);
|
|
406
|
+
}
|
|
340
407
|
// now, append the permissions to the return string IF we did NOT generate the function - because if we generated the function, that
|
|
341
408
|
// means we already generated the permissions for it above and it is part of sRet already, but we always save it to a file, (per above line)
|
|
342
409
|
if (!entity.FullTextSearchFunctionGenerated)
|
|
343
410
|
sRet += sP + '\nGO\n';
|
|
344
411
|
}
|
|
345
|
-
return { sql: sRet, permissionsSQL: permissionsSQL };
|
|
412
|
+
return { sql: sRet, permissionsSQL: permissionsSQL, files: files };
|
|
346
413
|
}
|
|
347
414
|
catch (err) {
|
|
348
415
|
(0, logging_1.logError)(err);
|
|
@@ -600,38 +667,37 @@ ${whereClause}GO${permissions}
|
|
|
600
667
|
let sOutput = '';
|
|
601
668
|
let fieldCount = 0;
|
|
602
669
|
const manageMD = global_1.MJGlobal.Instance.ClassFactory.CreateInstance(manage_metadata_1.ManageMetadataBase);
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
}
|
|
633
|
-
fieldCount++;
|
|
670
|
+
// next get the fields that are related entities and have the IncludeRelatedEntityNameFieldInBaseView flag set to true
|
|
671
|
+
const qualifyingFields = entityFields.filter(f => f.RelatedEntityID && f.IncludeRelatedEntityNameFieldInBaseView);
|
|
672
|
+
for (const ef of qualifyingFields) {
|
|
673
|
+
const { nameField, nameFieldIsVirtual } = this.getIsNameFieldForSingleEntity(ef.RelatedEntity);
|
|
674
|
+
if (nameField !== '') {
|
|
675
|
+
// only add to the output, if we found a name field for the related entity.
|
|
676
|
+
ef._RelatedEntityTableAlias = ef.RelatedEntityClassName + '_' + ef.Name;
|
|
677
|
+
ef._RelatedEntityNameFieldIsVirtual = nameFieldIsVirtual;
|
|
678
|
+
// This next section generates a field name for the new virtual field and makes sure it doesn't collide with a field in the base table
|
|
679
|
+
const candidateName = this.stripID(ef.Name);
|
|
680
|
+
// check to make sure candidateName is not already a field name in the base table (other than a virtual field of course, as that is what we're creating)
|
|
681
|
+
// because if it is, we need to change it to something else
|
|
682
|
+
const bFound = entityFields.find(f => f.IsVirtual === false && f.Name.trim().toLowerCase() === candidateName.trim().toLowerCase()) !== undefined;
|
|
683
|
+
if (bFound)
|
|
684
|
+
ef._RelatedEntityNameFieldMap = candidateName + '_Virtual';
|
|
685
|
+
else
|
|
686
|
+
ef._RelatedEntityNameFieldMap = candidateName;
|
|
687
|
+
// now we have a safe field name alias for the new virtual field in the _RelatedEntityNameFieldMap property, so use it...
|
|
688
|
+
sOutput += `${fieldCount === 0 ? '' : ','}\n ${ef._RelatedEntityTableAlias}.[${nameField}] AS [${ef._RelatedEntityNameFieldMap}]`;
|
|
689
|
+
// check to see if the database already knows about the RelatedEntityNameFieldMap or not
|
|
690
|
+
if (ef.RelatedEntityNameFieldMap === null ||
|
|
691
|
+
ef.RelatedEntityNameFieldMap === undefined ||
|
|
692
|
+
ef.RelatedEntityNameFieldMap.trim().length === 0) {
|
|
693
|
+
// the database doesn't yet know about this RelatedEntityNameFieldMap, so we need to update it
|
|
694
|
+
// first update the actul field in the metadata object so it can be used from this point forward
|
|
695
|
+
// and it also reflects what the DB will hold
|
|
696
|
+
ef.RelatedEntityNameFieldMap = ef._RelatedEntityNameFieldMap;
|
|
697
|
+
// then update the database itself
|
|
698
|
+
await manageMD.updateEntityFieldRelatedEntityNameFieldMap(ds, ef.ID, ef.RelatedEntityNameFieldMap);
|
|
634
699
|
}
|
|
700
|
+
fieldCount++;
|
|
635
701
|
}
|
|
636
702
|
}
|
|
637
703
|
return sOutput;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql_codegen.js","sourceRoot":"","sources":["../../src/Database/sql_codegen.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sql_codegen.js","sourceRoot":"","sources":["../../src/Database/sql_codegen.ts"],"names":[],"mappings":"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"}
|
package/dist/Misc/util.d.ts
CHANGED
|
@@ -2,5 +2,6 @@ export declare function replaceAllSpaces(s: string): string;
|
|
|
2
2
|
export declare function makeDirs(dirPaths: string[]): void;
|
|
3
3
|
export declare function makeDir(dirPath: string): void;
|
|
4
4
|
export declare function copyDir(sourceDir: string, destDir: string): void;
|
|
5
|
+
export declare function attemptDeleteFile(filePath: string, maxRetries: number, repeatDelay: number): Promise<void>;
|
|
5
6
|
export declare function combineFiles(directory: string, combinedFileName: string, pattern: string, overwriteExistingFile: boolean): void;
|
|
6
7
|
//# sourceMappingURL=util.d.ts.map
|
package/dist/Misc/util.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/Misc/util.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/Misc/util.ts"],"names":[],"mappings":"AAQA,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAKlD;AAED,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,QAI1C;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAI7C;AAED,wBAAgB,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,QAQzD;AAED,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB9G;AAEH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,qBAAqB,EAAE,OAAO,GAAG,IAAI,CAiC/H"}
|
package/dist/Misc/util.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.combineFiles = exports.copyDir = exports.makeDir = exports.makeDirs = exports.replaceAllSpaces = void 0;
|
|
3
|
+
exports.combineFiles = exports.attemptDeleteFile = exports.copyDir = exports.makeDir = exports.makeDirs = exports.replaceAllSpaces = void 0;
|
|
4
4
|
const logging_1 = require("./logging");
|
|
5
|
+
const fs_extra_1 = require("fs-extra");
|
|
5
6
|
const fs = require('fs');
|
|
6
7
|
const fse = require('fs-extra');
|
|
7
8
|
const glob = require('glob');
|
|
@@ -35,6 +36,28 @@ function copyDir(sourceDir, destDir) {
|
|
|
35
36
|
}
|
|
36
37
|
}
|
|
37
38
|
exports.copyDir = copyDir;
|
|
39
|
+
async function attemptDeleteFile(filePath, maxRetries, repeatDelay) {
|
|
40
|
+
for (let i = 0; i < maxRetries; i++) {
|
|
41
|
+
try {
|
|
42
|
+
(0, fs_extra_1.unlinkSync)(filePath);
|
|
43
|
+
return; // if we get here without an exception, we're good, move on
|
|
44
|
+
}
|
|
45
|
+
catch (err) {
|
|
46
|
+
if (err.code === 'ENOENT') {
|
|
47
|
+
// file doesn't exist, so just ignore this and move on
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
else if (err.code === 'EBUSY') {
|
|
51
|
+
await new Promise(resolve => setTimeout(resolve, repeatDelay));
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
console.warn(` Failed to delete file ${filePath}: ${err.message}`);
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.attemptDeleteFile = attemptDeleteFile;
|
|
38
61
|
function combineFiles(directory, combinedFileName, pattern, overwriteExistingFile) {
|
|
39
62
|
const combinedFilePath = path.join(directory, combinedFileName);
|
|
40
63
|
// Check if the combined file exists and if overwriteExistingFile is false, skip the process
|
|
@@ -65,7 +88,6 @@ function combineFiles(directory, combinedFileName, pattern, overwriteExistingFil
|
|
|
65
88
|
});
|
|
66
89
|
// Write the combined content to the specified file
|
|
67
90
|
fs.writeFileSync(combinedFilePath, combinedContent);
|
|
68
|
-
console.log(` Combined file created at ${combinedFilePath}`);
|
|
69
91
|
}
|
|
70
92
|
exports.combineFiles = combineFiles;
|
|
71
93
|
//# sourceMappingURL=util.js.map
|