@hed-hog/cli 0.0.69 → 0.0.71
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/package.json +1 -1
- package/dist/src/commands/dev.command/apply.subcommand.js +1 -1
- package/dist/src/commands/dev.command/apply.subcommand.js.map +1 -1
- package/dist/src/modules/hedhog/hedhog.service.js +8 -11
- package/dist/src/modules/hedhog/hedhog.service.js.map +1 -1
- package/dist/src/modules/hedhog/services/migration.service.d.ts +14 -0
- package/dist/src/modules/hedhog/services/migration.service.js +190 -9
- package/dist/src/modules/hedhog/services/migration.service.js.map +1 -1
- package/dist/src/templates/library/package.json.ejs +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
package/dist/package.json
CHANGED
|
@@ -32,7 +32,7 @@ let ApplyCommand = class ApplyCommand extends nest_commander_1.CommandRunner {
|
|
|
32
32
|
for (const name of names) {
|
|
33
33
|
await this.developer.copyAssetsToLibrary(name, cwd, false);
|
|
34
34
|
}
|
|
35
|
-
this.hedhog.apply(
|
|
35
|
+
await this.hedhog.apply(cwd, silent);
|
|
36
36
|
}
|
|
37
37
|
};
|
|
38
38
|
exports.ApplyCommand = ApplyCommand;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply.subcommand.js","sourceRoot":"","sources":["../../../../src/commands/dev.command/apply.subcommand.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2BAAiC;AACjC,mDAA2D;AAC3D,+BAA4B;AAC5B,iFAA6E;AAC7E,wEAAoE;AAO7D,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,8BAAa;IAE1B;IACA;IAFnB,YACmB,MAAqB,EACrB,SAA2B;QAE5C,KAAK,EAAE,CAAC;QAHS,WAAM,GAAN,MAAM,CAAe;QACrB,cAAS,GAAT,SAAS,CAAkB;IAG9C,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;QAC3B,MAAM,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,MAAM,aAAa,GAAG,IAAA,WAAI,EAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,IAAA,gBAAW,EAAC,aAAa,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;aAC9D,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;aACtC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"apply.subcommand.js","sourceRoot":"","sources":["../../../../src/commands/dev.command/apply.subcommand.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2BAAiC;AACjC,mDAA2D;AAC3D,+BAA4B;AAC5B,iFAA6E;AAC7E,wEAAoE;AAO7D,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,8BAAa;IAE1B;IACA;IAFnB,YACmB,MAAqB,EACrB,SAA2B;QAE5C,KAAK,EAAE,CAAC;QAHS,WAAM,GAAN,MAAM,CAAe;QACrB,cAAS,GAAT,SAAS,CAAkB;IAG9C,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;QAC3B,MAAM,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,MAAM,aAAa,GAAG,IAAA,WAAI,EAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,IAAA,gBAAW,EAAC,aAAa,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;aAC9D,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;aACtC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;CACF,CAAA;AArBY,oCAAY;uBAAZ,YAAY;IALxB,IAAA,2BAAU,EAAC;QACV,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,CAAC,GAAG,CAAC;QACd,WAAW,EAAE,+DAA+D;KAC7E,CAAC;qCAG2B,8BAAa;QACV,oCAAgB;GAHnC,YAAY,CAqBxB"}
|
|
@@ -367,35 +367,32 @@ let HedHogService = class HedHogService {
|
|
|
367
367
|
cwd,
|
|
368
368
|
});
|
|
369
369
|
spinner.succeed(`Dependencies installed for ${name}.`);
|
|
370
|
+
spinner.start(`Deploying Prisma migrations for ${name}...`);
|
|
370
371
|
try {
|
|
371
|
-
spinner.start(`Deploying Prisma migrations for ${name}...`);
|
|
372
372
|
await this.runner.exec(runner_service_1.ProgramName.PNPM, ['prisma:deploy'], {
|
|
373
373
|
cwd: (0, path_1.join)(cwd, 'apps', 'api'),
|
|
374
374
|
});
|
|
375
|
-
spinner.succeed(`Deployed Prisma migrations for ${name}.`);
|
|
376
|
-
this.log(`Deployed Prisma migrations for ${name}.`);
|
|
377
375
|
}
|
|
378
376
|
catch (error) {
|
|
379
377
|
spinner.fail(`Error during prisma migrate deploy for ${name}.`);
|
|
380
378
|
console.error('Error during prisma migrate deploy:', error);
|
|
381
|
-
|
|
379
|
+
throw error;
|
|
382
380
|
}
|
|
383
|
-
|
|
381
|
+
spinner.succeed(`Deployed Prisma migrations for ${name}.`);
|
|
382
|
+
this.log(`Deployed Prisma migrations for ${name}.`);
|
|
383
|
+
spinner.start(`Updating Prisma schema for ${name}...`);
|
|
384
384
|
try {
|
|
385
|
-
spinner.start(`Updating Prisma schema for ${name}...`);
|
|
386
385
|
await this.runner.exec(runner_service_1.ProgramName.PNPM, ['run', 'prisma:update'], {
|
|
387
386
|
cwd: (0, path_1.join)(cwd, 'apps', 'api'),
|
|
388
387
|
});
|
|
389
|
-
spinner.succeed(`Updated Prisma schema for ${name}.`);
|
|
390
|
-
prismaUpdateSucceeded = true;
|
|
391
388
|
}
|
|
392
389
|
catch (error) {
|
|
393
390
|
spinner.fail(`Error during prisma:update for ${name}.`);
|
|
394
391
|
console.error('Error during prisma:update:', error);
|
|
392
|
+
throw error;
|
|
395
393
|
}
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
}
|
|
394
|
+
spinner.succeed(`Updated Prisma schema for ${name}.`);
|
|
395
|
+
this.log(`Updated Prisma schema for ${name}.`);
|
|
399
396
|
}
|
|
400
397
|
async updateApiPackageJson(name, cwd = process.cwd()) {
|
|
401
398
|
this.log(`Updating API package.json for ${name}...`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hedhog.service.js","sourceRoot":"","sources":["../../../../src/modules/hedhog/hedhog.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hedhog.service.js","sourceRoot":"","sources":["../../../../src/modules/hedhog/hedhog.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,20 @@ export declare class MigrationService {
|
|
|
19
19
|
private log;
|
|
20
20
|
getDefaultValue(column: TableColumn): string;
|
|
21
21
|
getWhereString(where: Record<string, any>): string;
|
|
22
|
+
private getEnumValues;
|
|
23
|
+
private getEnumOrigin;
|
|
24
|
+
private getEnumName;
|
|
25
|
+
private escapeSqlLiteral;
|
|
26
|
+
private getColumnRegistryKey;
|
|
27
|
+
private buildColumnTypeRegistry;
|
|
28
|
+
private escapeRegex;
|
|
29
|
+
private findColumnForVariable;
|
|
30
|
+
private normalizeCustomSqlEnumDeclarations;
|
|
31
|
+
private validateCustomSqlAgainstSchema;
|
|
32
|
+
private normalizeCustomSqlQuery;
|
|
33
|
+
private hasSameEnumValues;
|
|
34
|
+
private validateEnumColumn;
|
|
35
|
+
private buildEnumRegistry;
|
|
22
36
|
private processEnums;
|
|
23
37
|
private createTableMigrations;
|
|
24
38
|
private addUniqueConstraints;
|
|
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.MigrationService = void 0;
|
|
13
13
|
const common_1 = require("@nestjs/common");
|
|
14
14
|
const chalk = require("chalk");
|
|
15
|
+
const crypto_1 = require("crypto");
|
|
15
16
|
const path_1 = require("path");
|
|
16
17
|
const sql_formatter_1 = require("sql-formatter");
|
|
17
18
|
const database_service_1 = require("../../database/database.service");
|
|
@@ -110,7 +111,178 @@ let MigrationService = class MigrationService {
|
|
|
110
111
|
}
|
|
111
112
|
return conditions.length ? `WHERE ${conditions.join(' AND ')}` : '';
|
|
112
113
|
}
|
|
113
|
-
|
|
114
|
+
getEnumValues(column) {
|
|
115
|
+
return [...((column.enum || column.values) ?? [])];
|
|
116
|
+
}
|
|
117
|
+
getEnumOrigin(table, column) {
|
|
118
|
+
return `${table.name}.${column.name}`;
|
|
119
|
+
}
|
|
120
|
+
getEnumName(tableName, columnName) {
|
|
121
|
+
const hash = (0, crypto_1.createHash)('sha1')
|
|
122
|
+
.update(`${tableName}:${columnName}`)
|
|
123
|
+
.digest('hex')
|
|
124
|
+
.slice(0, 10);
|
|
125
|
+
const suffix = `_${hash}_enum`;
|
|
126
|
+
const maxBaseLength = 63 - suffix.length;
|
|
127
|
+
const baseName = `${tableName}_${columnName}`.slice(0, maxBaseLength);
|
|
128
|
+
return `${baseName}${suffix}`;
|
|
129
|
+
}
|
|
130
|
+
escapeSqlLiteral(value) {
|
|
131
|
+
return value.replace(/'/g, "''");
|
|
132
|
+
}
|
|
133
|
+
getColumnRegistryKey(table, column) {
|
|
134
|
+
return `${table.toLowerCase()}.${column.toLowerCase()}`;
|
|
135
|
+
}
|
|
136
|
+
buildColumnTypeRegistry(tables) {
|
|
137
|
+
const registry = new Map();
|
|
138
|
+
for (const table of tables) {
|
|
139
|
+
for (const column of table.columns) {
|
|
140
|
+
const type = (column.enum || column.values) && column.type === 'enum'
|
|
141
|
+
? this.getEnumName(table.name, column.name)
|
|
142
|
+
: column.type;
|
|
143
|
+
registry.set(this.getColumnRegistryKey(table.name, column.name), {
|
|
144
|
+
table: table.name,
|
|
145
|
+
column: column.name,
|
|
146
|
+
type,
|
|
147
|
+
isEnum: type.toLowerCase().endsWith('_enum'),
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
return registry;
|
|
152
|
+
}
|
|
153
|
+
escapeRegex(value) {
|
|
154
|
+
return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
155
|
+
}
|
|
156
|
+
findColumnForVariable(variableName, sql, columnRegistry) {
|
|
157
|
+
const escapedVariable = this.escapeRegex(variableName);
|
|
158
|
+
const selectIntoPattern = new RegExp(`SELECT\\s+"?([a-zA-Z_][a-zA-Z0-9_]*)"?\\s+INTO\\s+${escapedVariable}\\s+FROM\\s+"?([a-zA-Z_][a-zA-Z0-9_]*)"?`, 'i');
|
|
159
|
+
const selectIntoMatch = sql.match(selectIntoPattern);
|
|
160
|
+
if (selectIntoMatch) {
|
|
161
|
+
const [, columnName, tableName] = selectIntoMatch;
|
|
162
|
+
const fromSelect = columnRegistry.get(this.getColumnRegistryKey(tableName, columnName));
|
|
163
|
+
if (fromSelect?.isEnum) {
|
|
164
|
+
return fromSelect;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
const updatePattern = new RegExp(`UPDATE\\s+"?([a-zA-Z_][a-zA-Z0-9_]*)"?[\\s\\S]*?SET[\\s\\S]*?"?([a-zA-Z_][a-zA-Z0-9_]*)"?\\s*=\\s*${escapedVariable}`, 'i');
|
|
168
|
+
const updateMatch = sql.match(updatePattern);
|
|
169
|
+
if (updateMatch) {
|
|
170
|
+
const [, tableName, columnName] = updateMatch;
|
|
171
|
+
const fromUpdate = columnRegistry.get(this.getColumnRegistryKey(tableName, columnName));
|
|
172
|
+
if (fromUpdate?.isEnum) {
|
|
173
|
+
return fromUpdate;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
const variableBase = variableName
|
|
177
|
+
.toLowerCase()
|
|
178
|
+
.replace(/^v_/, '')
|
|
179
|
+
.replace(/^(current_|next_|new_|old_)/, '');
|
|
180
|
+
const candidates = [...columnRegistry.values()].filter((entry) => entry.isEnum && entry.column.toLowerCase() === variableBase);
|
|
181
|
+
if (candidates.length === 1) {
|
|
182
|
+
return candidates[0];
|
|
183
|
+
}
|
|
184
|
+
return null;
|
|
185
|
+
}
|
|
186
|
+
normalizeCustomSqlEnumDeclarations(file, sqlContent, enumRegistry, columnRegistry) {
|
|
187
|
+
const declarationPattern = /(\b[a-zA-Z_][a-zA-Z0-9_]*\b)\s+([a-zA-Z_][a-zA-Z0-9_]*_enum)\s*;/g;
|
|
188
|
+
let transformedContent = sqlContent;
|
|
189
|
+
const declarationMatches = [...sqlContent.matchAll(declarationPattern)];
|
|
190
|
+
for (const match of declarationMatches) {
|
|
191
|
+
const variableName = match[1];
|
|
192
|
+
const enumType = match[2];
|
|
193
|
+
const resolvedColumn = this.findColumnForVariable(variableName, transformedContent, columnRegistry);
|
|
194
|
+
if (!resolvedColumn) {
|
|
195
|
+
throw new Error(`Could not safely resolve enum declaration "${variableName} ${enumType}" in ${file}. Use <table>.<column>%TYPE for enum variables.`);
|
|
196
|
+
}
|
|
197
|
+
const replacementType = `${resolvedColumn.table}.${resolvedColumn.column}%TYPE`;
|
|
198
|
+
const declarationRegex = new RegExp(`(\\b${this.escapeRegex(variableName)}\\b)\\s+${this.escapeRegex(enumType)}\\s*;`, 'g');
|
|
199
|
+
transformedContent = transformedContent.replace(declarationRegex, `$1 ${replacementType};`);
|
|
200
|
+
}
|
|
201
|
+
const unresolvedEnumDeclarations = [
|
|
202
|
+
...transformedContent.matchAll(declarationPattern),
|
|
203
|
+
];
|
|
204
|
+
if (unresolvedEnumDeclarations.length > 0) {
|
|
205
|
+
throw new Error(`Unsafe enum declaration found in ${file}. Replace hardcoded enum declarations with <table>.<column>%TYPE.`);
|
|
206
|
+
}
|
|
207
|
+
for (const createdType of transformedContent.matchAll(/CREATE\s+TYPE\s+"?([a-zA-Z_][a-zA-Z0-9_]*_enum)"?/gi)) {
|
|
208
|
+
const typeName = createdType[1];
|
|
209
|
+
if (enumRegistry.has(typeName)) {
|
|
210
|
+
throw new Error(`Redundant CREATE TYPE detected in ${file}: "${typeName}" is already generated by the schema model.`);
|
|
211
|
+
}
|
|
212
|
+
if (!/[a-f0-9]{10}_enum$/i.test(typeName)) {
|
|
213
|
+
throw new Error(`Unsafe CREATE TYPE detected in ${file}: "${typeName}". Do not create enum types manually in custom SQL when schema enums are hash-versioned.`);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
return transformedContent;
|
|
217
|
+
}
|
|
218
|
+
validateCustomSqlAgainstSchema(file, sqlContent, columnRegistry) {
|
|
219
|
+
const alterTableAddColumnPattern = /ALTER\s+TABLE\s+"?([a-zA-Z_][a-zA-Z0-9_]*)"?\s+ADD\s+COLUMN(?:\s+IF\s+NOT\s+EXISTS)?\s+"?([a-zA-Z_][a-zA-Z0-9_]*)"?/gi;
|
|
220
|
+
for (const match of sqlContent.matchAll(alterTableAddColumnPattern)) {
|
|
221
|
+
const [, tableName, columnName] = match;
|
|
222
|
+
const key = this.getColumnRegistryKey(tableName, columnName);
|
|
223
|
+
if (columnRegistry.has(key)) {
|
|
224
|
+
throw new Error(`Redundant ALTER TABLE ADD COLUMN detected in ${file} for ${tableName}.${columnName}. This column is already defined in the schema model.`);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
normalizeCustomSqlQuery(file, sqlContent, enumRegistry, columnRegistry) {
|
|
229
|
+
const normalizedSql = this.normalizeCustomSqlEnumDeclarations(file, sqlContent, enumRegistry, columnRegistry);
|
|
230
|
+
this.validateCustomSqlAgainstSchema(file, normalizedSql, columnRegistry);
|
|
231
|
+
return normalizedSql;
|
|
232
|
+
}
|
|
233
|
+
hasSameEnumValues(left, right) {
|
|
234
|
+
return (left.length === right.length &&
|
|
235
|
+
left.every((value, index) => value === right[index]));
|
|
236
|
+
}
|
|
237
|
+
validateEnumColumn(table, column) {
|
|
238
|
+
const values = this.getEnumValues(column);
|
|
239
|
+
const origin = this.getEnumOrigin(table, column);
|
|
240
|
+
if (!values.length) {
|
|
241
|
+
throw new Error(`Enum ${origin} must declare at least one value.`);
|
|
242
|
+
}
|
|
243
|
+
const duplicatedValues = values.filter((value, index) => values.indexOf(value) !== index);
|
|
244
|
+
if (duplicatedValues.length) {
|
|
245
|
+
const duplicates = Array.from(new Set(duplicatedValues)).join(', ');
|
|
246
|
+
throw new Error(`Enum ${origin} has duplicated values: ${duplicates}.`);
|
|
247
|
+
}
|
|
248
|
+
if (column.default !== undefined &&
|
|
249
|
+
!values.includes(String(column.default))) {
|
|
250
|
+
throw new Error(`Enum ${origin} has default "${column.default}" outside the declared values: ${values.join(', ')}.`);
|
|
251
|
+
}
|
|
252
|
+
return values;
|
|
253
|
+
}
|
|
254
|
+
buildEnumRegistry(tables) {
|
|
255
|
+
const registry = new Map();
|
|
256
|
+
for (const table of tables) {
|
|
257
|
+
for (const column of table.columns) {
|
|
258
|
+
if (column.type !== 'enum' || !(column.enum || column.values)) {
|
|
259
|
+
continue;
|
|
260
|
+
}
|
|
261
|
+
const values = this.validateEnumColumn(table, column);
|
|
262
|
+
const enumName = this.getEnumName(table.name, column.name);
|
|
263
|
+
const origin = this.getEnumOrigin(table, column);
|
|
264
|
+
const existingEntry = registry.get(enumName);
|
|
265
|
+
if (!existingEntry) {
|
|
266
|
+
registry.set(enumName, {
|
|
267
|
+
name: enumName,
|
|
268
|
+
values,
|
|
269
|
+
origin,
|
|
270
|
+
});
|
|
271
|
+
continue;
|
|
272
|
+
}
|
|
273
|
+
if (!this.hasSameEnumValues(existingEntry.values, values)) {
|
|
274
|
+
throw new Error([
|
|
275
|
+
`Enum collision detected for "${enumName}".`,
|
|
276
|
+
`First origin: ${existingEntry.origin} => [${existingEntry.values.join(', ')}].`,
|
|
277
|
+
`Second origin: ${origin} => [${values.join(', ')}].`,
|
|
278
|
+
].join(' '));
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
return registry;
|
|
283
|
+
}
|
|
284
|
+
processEnums(tables, dbType, migrationContent, enumRegistry) {
|
|
285
|
+
const createdEnums = new Set();
|
|
114
286
|
for (const table of tables) {
|
|
115
287
|
this.log(`Processing enums for table: ${table.name}`);
|
|
116
288
|
for (const column of table.columns) {
|
|
@@ -118,8 +290,15 @@ let MigrationService = class MigrationService {
|
|
|
118
290
|
column.type === 'enum' &&
|
|
119
291
|
(column.enum || column.values)) {
|
|
120
292
|
this.log(`Creating enum for column: ${column.name}`);
|
|
121
|
-
const enumName =
|
|
122
|
-
|
|
293
|
+
const enumName = this.getEnumName(table.name, column.name);
|
|
294
|
+
const enumEntry = enumRegistry.get(enumName);
|
|
295
|
+
if (!enumEntry) {
|
|
296
|
+
throw new Error(`Enum registry entry not found for ${table.name}.${column.name}.`);
|
|
297
|
+
}
|
|
298
|
+
if (!createdEnums.has(enumName)) {
|
|
299
|
+
migrationContent.push(`-- CreateEnum`, `CREATE TYPE "${enumName}" AS ENUM (${enumEntry.values.map((value) => `'${this.escapeSqlLiteral(value)}'`).join(', ')});`, ``);
|
|
300
|
+
createdEnums.add(enumName);
|
|
301
|
+
}
|
|
123
302
|
column.type = enumName;
|
|
124
303
|
}
|
|
125
304
|
}
|
|
@@ -581,7 +760,7 @@ let MigrationService = class MigrationService {
|
|
|
581
760
|
}
|
|
582
761
|
return [];
|
|
583
762
|
}
|
|
584
|
-
async afterQueries(name, cwd, migrationContent) {
|
|
763
|
+
async afterQueries(name, cwd, migrationContent, enumRegistry, columnRegistry) {
|
|
585
764
|
this.log(`Running after queries for ${name}...`);
|
|
586
765
|
const queriesPath = (0, path_1.resolve)(cwd, `./libraries/${name}/hedhog/query`);
|
|
587
766
|
try {
|
|
@@ -590,7 +769,8 @@ let MigrationService = class MigrationService {
|
|
|
590
769
|
for (const file of allFiles) {
|
|
591
770
|
if (file.endsWith('.sql')) {
|
|
592
771
|
const sqlContent = await this.fileSystem.readFileContent((0, path_1.join)(queriesPath, file));
|
|
593
|
-
|
|
772
|
+
const normalizedSql = this.normalizeCustomSqlQuery(file, sqlContent, enumRegistry, columnRegistry);
|
|
773
|
+
migrationContent.push(`-- AfterQuery: ${file}`, normalizedSql, '');
|
|
594
774
|
}
|
|
595
775
|
else {
|
|
596
776
|
console.warn(chalk.yellow(`Arquivo ignorado no diretório de queries: ${file}`));
|
|
@@ -603,8 +783,7 @@ let MigrationService = class MigrationService {
|
|
|
603
783
|
}
|
|
604
784
|
catch (error) {
|
|
605
785
|
this.log(`Error processing after queries: ${error.message}`);
|
|
606
|
-
|
|
607
|
-
// throw error;
|
|
786
|
+
throw error;
|
|
608
787
|
}
|
|
609
788
|
}
|
|
610
789
|
async insertInitialData(tables, name, cwd, migrationContent) {
|
|
@@ -725,9 +904,11 @@ let MigrationService = class MigrationService {
|
|
|
725
904
|
}
|
|
726
905
|
const migrationContent = [];
|
|
727
906
|
const createdTables = [];
|
|
907
|
+
const enumRegistry = this.buildEnumRegistry(allTables);
|
|
908
|
+
const columnRegistry = this.buildColumnTypeRegistry(allTables);
|
|
728
909
|
this.log(`Database type detected: ${dbType}`);
|
|
729
910
|
this.log(`Processing enums for ${name}...`);
|
|
730
|
-
this.processEnums(tables, dbType, migrationContent);
|
|
911
|
+
this.processEnums(tables, dbType, migrationContent, enumRegistry);
|
|
731
912
|
this.log(`Processed enums for ${name}!`);
|
|
732
913
|
this.log(`Creating tables for ${name}...`);
|
|
733
914
|
await this.createTableMigrations(tables, dbType, migrationContent, createdTables, cwd);
|
|
@@ -742,7 +923,7 @@ let MigrationService = class MigrationService {
|
|
|
742
923
|
await this.insertInitialData(!allTables.length && tables.length ? tables : allTables, name, cwd, migrationContent);
|
|
743
924
|
this.log(`Inserted initial data for ${name}!`);
|
|
744
925
|
this.log(`Running after querys for ${name}...`);
|
|
745
|
-
await this.afterQueries(name, cwd, migrationContent);
|
|
926
|
+
await this.afterQueries(name, cwd, migrationContent, enumRegistry, columnRegistry);
|
|
746
927
|
this.log(`Completed after querys for ${name}!`);
|
|
747
928
|
// Save migration file
|
|
748
929
|
const timestamp = new Date()
|