Skip to content

Commit 2909666

Browse files
committed
Prod updates for issues seen
1 parent acc8087 commit 2909666

File tree

2 files changed

+31
-2
lines changed

2 files changed

+31
-2
lines changed

data-migration/src/migrationManager.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,8 +106,9 @@ class MigrationManager {
106106
}
107107

108108
try {
109-
if (logStream && !logStream.writableStream) {
110-
logStream.write(`${logMessage} ${argsString}\n`);
109+
if (logStream?.writable) {
110+
const suffix = argsString ? ` ${argsString}` : '';
111+
logStream.write(`${logMessage}${suffix}\n`);
111112
}
112113
} catch (err) {
113114
console.error('Error writing to log:', err);

data-migration/src/migrators/challengeMigrator.js

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,34 @@ class ChallengeMigrator extends BaseMigrator {
137137
record.updatedAt = record.updated
138138
}
139139

140+
if (record.legacyId !== undefined) {
141+
if (record.legacyId === null) {
142+
// keep as null
143+
} else if (typeof record.legacyId === 'string') {
144+
const trimmedLegacyId = record.legacyId.trim();
145+
146+
if (!trimmedLegacyId || trimmedLegacyId.toLowerCase() === 'null') {
147+
record.legacyId = null;
148+
} else {
149+
const parsedLegacyId = Number(trimmedLegacyId);
150+
if (Number.isFinite(parsedLegacyId)) {
151+
record.legacyId = parsedLegacyId;
152+
} else {
153+
this.manager.logger.warn(`Skipping legacyId for challenge ${record[this.getIdField()]}; non-numeric value "${record.legacyId}"`);
154+
record.legacyId = Prisma.skip;
155+
}
156+
}
157+
} else if (typeof record.legacyId !== 'number') {
158+
const parsedLegacyId = Number(record.legacyId);
159+
if (Number.isFinite(parsedLegacyId)) {
160+
record.legacyId = parsedLegacyId;
161+
} else {
162+
this.manager.logger.warn(`Skipping legacyId for challenge ${record[this.getIdField()]}; non-numeric value "${record.legacyId}"`);
163+
record.legacyId = Prisma.skip;
164+
}
165+
}
166+
}
167+
140168
return record;
141169
}
142170

0 commit comments

Comments
 (0)