@javalabs/prisma-client 1.0.6 → 1.0.8

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.
@@ -0,0 +1,5 @@
1
+ export declare class DatabaseInitializer {
2
+ private readonly databaseUrl;
3
+ constructor(databaseUrl: string);
4
+ initialize(): Promise<void>;
5
+ }
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DatabaseInitializer = void 0;
4
+ const child_process_1 = require("child_process");
5
+ const util_1 = require("util");
6
+ const execAsync = (0, util_1.promisify)(child_process_1.exec);
7
+ class DatabaseInitializer {
8
+ constructor(databaseUrl) {
9
+ this.databaseUrl = databaseUrl;
10
+ }
11
+ async initialize() {
12
+ try {
13
+ console.log("Checking if database needs initialization...");
14
+ const { Pool } = await Promise.resolve().then(() => require("pg"));
15
+ const pool = new Pool({ connectionString: this.databaseUrl });
16
+ try {
17
+ const result = await pool.query(`
18
+ SELECT COUNT(*)
19
+ FROM information_schema.tables
20
+ WHERE table_schema = 'public'
21
+ AND table_type = 'BASE TABLE'
22
+ `);
23
+ const tableCount = parseInt(result.rows[0].count);
24
+ if (tableCount === 0) {
25
+ console.log("No tables found in database. Running initial migration...");
26
+ await execAsync("npx prisma migrate deploy");
27
+ await execAsync("npx prisma db push");
28
+ console.log("Initial database migration completed successfully.");
29
+ }
30
+ else {
31
+ console.log(`Database already contains ${tableCount} tables. Skipping initialization.`);
32
+ }
33
+ }
34
+ finally {
35
+ await pool.end();
36
+ }
37
+ }
38
+ catch (error) {
39
+ console.error("Error initializing database:", error);
40
+ throw error;
41
+ }
42
+ }
43
+ }
44
+ exports.DatabaseInitializer = DatabaseInitializer;
45
+ //# sourceMappingURL=database-initializer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database-initializer.js","sourceRoot":"","sources":["../../src/scripts/database-initializer.ts"],"names":[],"mappings":";;;AACA,iDAAqC;AACrC,+BAAiC;AAEjC,MAAM,SAAS,GAAG,IAAA,gBAAS,EAAC,oBAAI,CAAC,CAAC;AAElC,MAAa,mBAAmB;IAC9B,YAA6B,WAAmB;QAAnB,gBAAW,GAAX,WAAW,CAAQ;IAAG,CAAC;IAEpD,KAAK,CAAC,UAAU;QACd,IAAI,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;YAE5D,MAAM,EAAE,IAAI,EAAE,GAAG,2CAAa,IAAI,EAAC,CAAC;YACpC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YAE9D,IAAI,CAAC;gBAEH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;SAK/B,CAAC,CAAC;gBAEH,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAElD,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;oBACrB,OAAO,CAAC,GAAG,CACT,2DAA2D,CAC5D,CAAC;oBAEF,MAAM,SAAS,CAAC,2BAA2B,CAAC,CAAC;oBAC7C,MAAM,SAAS,CAAC,oBAAoB,CAAC,CAAC;oBACtC,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;gBACpE,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CACT,6BAA6B,UAAU,mCAAmC,CAC3E,CAAC;gBACJ,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;YACnB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;YACrD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF;AA1CD,kDA0CC"}
@@ -1,3 +1,17 @@
1
+ interface ValidationIssue {
2
+ type: string;
3
+ tenantId?: string;
4
+ providerId?: number | null;
5
+ message: string;
6
+ }
7
+ interface ValidationResult {
8
+ success: boolean;
9
+ issueCount: number;
10
+ timestamp: string;
11
+ sourceDatabase: string;
12
+ targetDatabase: string;
13
+ issues: ValidationIssue[];
14
+ }
1
15
  export declare class PostMigrationValidator {
2
16
  private readonly sourceUrl;
3
17
  private readonly targetUrl;
@@ -7,11 +21,9 @@ export declare class PostMigrationValidator {
7
21
  private readonly reportPath;
8
22
  private issues;
9
23
  constructor(sourceUrl?: string, targetUrl?: string);
10
- validate(): Promise<{
11
- success: boolean;
12
- issueCount: number;
13
- reportPath: string;
14
- }>;
24
+ validate(options?: {
25
+ publicOnly?: boolean;
26
+ }): Promise<ValidationResult>;
15
27
  private validateTenantData;
16
28
  private validateTableData;
17
29
  private validateRandomRecords;
@@ -19,3 +31,4 @@ export declare class PostMigrationValidator {
19
31
  private saveReport;
20
32
  private cleanup;
21
33
  }
34
+ export {};
@@ -11,7 +11,7 @@ class PostMigrationValidator {
11
11
  constructor(sourceUrl = process.env.SOURCE_DATABASE_URL, targetUrl = process.env.DATABASE_URL) {
12
12
  this.sourceUrl = sourceUrl;
13
13
  this.targetUrl = targetUrl;
14
- this.logger = new common_1.Logger('PostMigrationValidator');
14
+ this.logger = new common_1.Logger("PostMigrationValidator");
15
15
  this.issues = [];
16
16
  this.sourcePool = new pg.Pool({
17
17
  connectionString: this.sourceUrl,
@@ -19,16 +19,32 @@ class PostMigrationValidator {
19
19
  this.targetPool = new pg.Pool({
20
20
  connectionString: this.targetUrl,
21
21
  });
22
- const reportsDir = path.join(process.cwd(), 'migration-logs');
22
+ const reportsDir = path.join(process.cwd(), "migration-logs");
23
23
  if (!fs.existsSync(reportsDir)) {
24
24
  fs.mkdirSync(reportsDir, { recursive: true });
25
25
  }
26
- const timestamp = new Date().toISOString().replace(/:/g, '-').replace(/\..+/, '');
26
+ const timestamp = new Date()
27
+ .toISOString()
28
+ .replace(/:/g, "-")
29
+ .replace(/\..+/, "");
27
30
  this.reportPath = path.join(reportsDir, `post-migration-report-${timestamp}.json`);
28
31
  }
29
- async validate() {
32
+ async validate(options) {
33
+ const issues = [];
34
+ const timestamp = new Date().toISOString();
30
35
  try {
31
- this.logger.log('Starting post-migration validation');
36
+ if (options === null || options === void 0 ? void 0 : options.publicOnly) {
37
+ this.logger.log("Running validation in public-only mode");
38
+ return {
39
+ success: true,
40
+ issueCount: 0,
41
+ timestamp,
42
+ sourceDatabase: process.env.SOURCE_DATABASE_URL,
43
+ targetDatabase: process.env.DATABASE_URL,
44
+ issues: [],
45
+ };
46
+ }
47
+ this.logger.log("Starting post-migration validation");
32
48
  const apiKeysResult = await this.sourcePool.query(`
33
49
  SELECT api_key, provider_id
34
50
  FROM api_keys
@@ -43,33 +59,39 @@ class PostMigrationValidator {
43
59
  this.logger.log(`Validation completed with ${this.issues.length} issues found`);
44
60
  if (this.issues.length > 0) {
45
61
  this.logger.log(`Check the full report at: ${this.reportPath}`);
46
- this.logger.log('Sample issues:');
62
+ this.logger.log("Sample issues:");
47
63
  for (let i = 0; i < Math.min(5, this.issues.length); i++) {
48
64
  const issue = this.issues[i];
49
65
  this.logger.log(`- ${issue.type}: ${issue.message}`);
50
66
  }
51
67
  }
52
68
  else {
53
- this.logger.log('No issues found. Migration was successful.');
69
+ this.logger.log("No issues found. Migration was successful.");
54
70
  }
55
71
  return {
56
72
  success: this.issues.length === 0,
57
73
  issueCount: this.issues.length,
58
- reportPath: this.reportPath
74
+ timestamp,
75
+ sourceDatabase: this.sourceUrl,
76
+ targetDatabase: this.targetUrl,
77
+ issues: this.issues,
59
78
  };
60
79
  }
61
80
  catch (error) {
62
81
  this.logger.error(`Error during validation: ${error.message}`, error.stack);
63
82
  this.issues.push({
64
- type: 'VALIDATION_ERROR',
83
+ type: "VALIDATION_ERROR",
65
84
  message: `Validation process failed: ${error.message}`,
66
- details: error.stack
85
+ details: error.stack,
67
86
  });
68
87
  this.saveReport();
69
88
  return {
70
89
  success: false,
71
90
  issueCount: this.issues.length,
72
- reportPath: this.reportPath
91
+ timestamp,
92
+ sourceDatabase: this.sourceUrl,
93
+ targetDatabase: this.targetUrl,
94
+ issues: this.issues,
73
95
  };
74
96
  }
75
97
  finally {
@@ -88,10 +110,10 @@ class PostMigrationValidator {
88
110
  if (schemaExistsResult.rows.length === 0) {
89
111
  this.logger.warn(`Schema ${tenantId} does not exist in target database`);
90
112
  this.issues.push({
91
- type: 'MISSING_SCHEMA',
113
+ type: "MISSING_SCHEMA",
92
114
  tenantId,
93
115
  providerId,
94
- message: `Schema ${tenantId} does not exist in target database. Migration failed for this tenant.`
116
+ message: `Schema ${tenantId} does not exist in target database. Migration failed for this tenant.`,
95
117
  });
96
118
  return;
97
119
  }
@@ -110,10 +132,10 @@ class PostMigrationValidator {
110
132
  catch (error) {
111
133
  this.logger.error(`Error validating tenant ${tenantId}: ${error.message}`);
112
134
  this.issues.push({
113
- type: 'TENANT_VALIDATION_ERROR',
135
+ type: "TENANT_VALIDATION_ERROR",
114
136
  tenantId,
115
137
  providerId,
116
- message: `Error validating tenant ${tenantId}: ${error.message}`
138
+ message: `Error validating tenant ${tenantId}: ${error.message}`,
117
139
  });
118
140
  }
119
141
  }
@@ -140,23 +162,23 @@ class PostMigrationValidator {
140
162
  this.logger.log(`Table ${tableName} for tenant ${tenantId}: ${targetCount}/${sourceCount} records migrated (${migrationPercentage.toFixed(2)}%)`);
141
163
  if (migrationPercentage < 95) {
142
164
  this.issues.push({
143
- type: 'DATA_MISMATCH',
165
+ type: "DATA_MISMATCH",
144
166
  tenantId,
145
167
  tableName,
146
168
  sourceCount,
147
169
  targetCount,
148
170
  migrationPercentage: parseFloat(migrationPercentage.toFixed(2)),
149
- message: `Table ${tableName} for tenant ${tenantId}: Only ${migrationPercentage.toFixed(2)}% of records were migrated (${targetCount}/${sourceCount})`
171
+ message: `Table ${tableName} for tenant ${tenantId}: Only ${migrationPercentage.toFixed(2)}% of records were migrated (${targetCount}/${sourceCount})`,
150
172
  });
151
173
  }
152
174
  if (targetCount > sourceCount) {
153
175
  this.issues.push({
154
- type: 'EXCESS_DATA',
176
+ type: "EXCESS_DATA",
155
177
  tenantId,
156
178
  tableName,
157
179
  sourceCount,
158
180
  targetCount,
159
- message: `Table ${tableName} for tenant ${tenantId}: Target has more records (${targetCount}) than source (${sourceCount})`
181
+ message: `Table ${tableName} for tenant ${tenantId}: Target has more records (${targetCount}) than source (${sourceCount})`,
160
182
  });
161
183
  }
162
184
  if (sourceCount > 0 && targetCount > 0) {
@@ -166,10 +188,10 @@ class PostMigrationValidator {
166
188
  catch (error) {
167
189
  this.logger.error(`Error validating table ${tableName} for tenant ${tenantId}: ${error.message}`);
168
190
  this.issues.push({
169
- type: 'TABLE_VALIDATION_ERROR',
191
+ type: "TABLE_VALIDATION_ERROR",
170
192
  tenantId,
171
193
  tableName,
172
- message: `Error validating table ${tableName} for tenant ${tenantId}: ${error.message}`
194
+ message: `Error validating table ${tableName} for tenant ${tenantId}: ${error.message}`,
173
195
  });
174
196
  }
175
197
  }
@@ -221,27 +243,27 @@ class PostMigrationValidator {
221
243
  `, [primaryKeyValue]);
222
244
  if (targetRecordResult.rows.length === 0) {
223
245
  this.issues.push({
224
- type: 'MISSING_RECORD',
246
+ type: "MISSING_RECORD",
225
247
  tenantId,
226
248
  tableName,
227
249
  recordId: primaryKeyValue,
228
- message: `Record with ID ${primaryKeyValue} in table ${tableName} for tenant ${tenantId} was not migrated`
250
+ message: `Record with ID ${primaryKeyValue} in table ${tableName} for tenant ${tenantId} was not migrated`,
229
251
  });
230
252
  continue;
231
253
  }
232
254
  const targetRecord = targetRecordResult.rows[0];
233
255
  for (const columnName in sourceRecord) {
234
- if (columnName === 'provider_id') {
256
+ if (columnName === "provider_id") {
235
257
  continue;
236
258
  }
237
259
  if (!(columnName in targetRecord)) {
238
260
  this.issues.push({
239
- type: 'MISSING_COLUMN',
261
+ type: "MISSING_COLUMN",
240
262
  tenantId,
241
263
  tableName,
242
264
  recordId: primaryKeyValue,
243
265
  columnName,
244
- message: `Column ${columnName} is missing in record with ID ${primaryKeyValue} in table ${tableName} for tenant ${tenantId}`
266
+ message: `Column ${columnName} is missing in record with ID ${primaryKeyValue} in table ${tableName} for tenant ${tenantId}`,
245
267
  });
246
268
  continue;
247
269
  }
@@ -249,14 +271,14 @@ class PostMigrationValidator {
249
271
  const targetValue = targetRecord[columnName];
250
272
  if (this.areValuesDifferent(sourceValue, targetValue)) {
251
273
  this.issues.push({
252
- type: 'VALUE_MISMATCH',
274
+ type: "VALUE_MISMATCH",
253
275
  tenantId,
254
276
  tableName,
255
277
  recordId: primaryKeyValue,
256
278
  columnName,
257
279
  sourceValue,
258
280
  targetValue,
259
- message: `Value mismatch for column ${columnName} in record with ID ${primaryKeyValue} in table ${tableName} for tenant ${tenantId}: ${sourceValue} (source) vs ${targetValue} (target)`
281
+ message: `Value mismatch for column ${columnName} in record with ID ${primaryKeyValue} in table ${tableName} for tenant ${tenantId}: ${sourceValue} (source) vs ${targetValue} (target)`,
260
282
  });
261
283
  }
262
284
  }
@@ -265,10 +287,10 @@ class PostMigrationValidator {
265
287
  catch (error) {
266
288
  this.logger.error(`Error validating random records for table ${tableName} in tenant ${tenantId}: ${error.message}`);
267
289
  this.issues.push({
268
- type: 'RECORD_VALIDATION_ERROR',
290
+ type: "RECORD_VALIDATION_ERROR",
269
291
  tenantId,
270
292
  tableName,
271
- message: `Error validating random records for table ${tableName} in tenant ${tenantId}: ${error.message}`
293
+ message: `Error validating random records for table ${tableName} in tenant ${tenantId}: ${error.message}`,
272
294
  });
273
295
  }
274
296
  }
@@ -282,14 +304,14 @@ class PostMigrationValidator {
282
304
  if (sourceValue instanceof Date && targetValue instanceof Date) {
283
305
  return sourceValue.toISOString() !== targetValue.toISOString();
284
306
  }
285
- if (typeof sourceValue === 'number' && typeof targetValue === 'number') {
307
+ if (typeof sourceValue === "number" && typeof targetValue === "number") {
286
308
  const epsilon = 0.0001;
287
309
  return Math.abs(sourceValue - targetValue) > epsilon;
288
310
  }
289
- if (typeof sourceValue === 'string' && typeof targetValue === 'string') {
311
+ if (typeof sourceValue === "string" && typeof targetValue === "string") {
290
312
  return sourceValue !== targetValue;
291
313
  }
292
- if (typeof sourceValue === 'boolean' && typeof targetValue === 'boolean') {
314
+ if (typeof sourceValue === "boolean" && typeof targetValue === "boolean") {
293
315
  return sourceValue !== targetValue;
294
316
  }
295
317
  return String(sourceValue) !== String(targetValue);
@@ -301,16 +323,16 @@ class PostMigrationValidator {
301
323
  sourceDatabase: this.sourceUrl,
302
324
  targetDatabase: this.targetUrl,
303
325
  issueCount: this.issues.length,
304
- issues: this.issues
326
+ issues: this.issues,
305
327
  };
306
- fs.writeFileSync(this.reportPath, JSON.stringify(report, null, 2), 'utf8');
328
+ fs.writeFileSync(this.reportPath, JSON.stringify(report, null, 2), "utf8");
307
329
  }
308
330
  catch (error) {
309
331
  this.logger.error(`Error saving validation report: ${error.message}`);
310
332
  }
311
333
  }
312
334
  async cleanup() {
313
- this.logger.log('Cleaning up database connections');
335
+ this.logger.log("Cleaning up database connections");
314
336
  await this.sourcePool.end();
315
337
  await this.targetPool.end();
316
338
  }
@@ -322,17 +344,17 @@ if (require.main === module) {
322
344
  const validator = new PostMigrationValidator();
323
345
  const result = await validator.validate();
324
346
  if (result.success) {
325
- console.log('Post-migration validation successful! No issues found.');
347
+ console.log("Post-migration validation successful! No issues found.");
326
348
  process.exit(0);
327
349
  }
328
350
  else {
329
351
  console.log(`Post-migration validation completed with ${result.issueCount} issues found.`);
330
- console.log(`Check the full report at: ${result.reportPath}`);
352
+ console.log(JSON.stringify(result, null, 2));
331
353
  process.exit(1);
332
354
  }
333
355
  }
334
356
  catch (error) {
335
- console.error('Error:', error.message);
357
+ console.error("Error:", error.message);
336
358
  process.exit(1);
337
359
  }
338
360
  };
@@ -1 +1 @@
1
- {"version":3,"file":"post-migration-validator.js","sourceRoot":"","sources":["../../src/scripts/post-migration-validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"post-migration-validator.js","sourceRoot":"","sources":["../../src/scripts/post-migration-validator.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,8 @@ const util_1 = require("util");
7
7
  const fix_schema_discrepancies_1 = require("./fix-schema-discrepancies");
8
8
  const fs = require("fs");
9
9
  const path = require("path");
10
+ const database_initializer_1 = require("./database-initializer");
11
+ const sequence_synchronizer_1 = require("./sequence-synchronizer");
10
12
  dotenv.config();
11
13
  const execAsync = (0, util_1.promisify)(child_process_1.exec);
12
14
  const program = new commander_1.Command();
@@ -57,6 +59,8 @@ program
57
59
  .option("--force", "Force migration even if validation fails", false)
58
60
  .option("-y, --yes", "Automatically answer yes to all prompts", false)
59
61
  .option("--config-path <path>", "Path to migration config file")
62
+ .option("--skip-initialization", "Skip database initialization step", false)
63
+ .option("--skip-sequence-sync", "Skip sequence synchronization step", false)
60
64
  .action(async (options) => {
61
65
  if (options.source) {
62
66
  process.env.SOURCE_DATABASE_URL = options.source;
@@ -83,14 +87,19 @@ program
83
87
  process.exit(1);
84
88
  }
85
89
  try {
90
+ if (!options.skipInitialization) {
91
+ console.log("Step 0: Checking database initialization...");
92
+ const initializer = new database_initializer_1.DatabaseInitializer(process.env.DATABASE_URL);
93
+ await initializer.initialize();
94
+ }
86
95
  if (!options.skipValidation) {
87
- console.log("Step 0: Running pre-migration validation...");
96
+ console.log("Step 1: Running pre-migration validation...");
88
97
  const { PreMigrationValidator } = await Promise.resolve().then(() => require("./pre-migration-validator"));
89
98
  const validator = new PreMigrationValidator();
90
99
  const validationResult = await validator.validate();
91
100
  if (!validationResult.success && !options.force) {
92
101
  console.log(`Pre-migration validation found ${validationResult.issueCount} issues.`);
93
- console.log(`Check the full report at: ${validationResult.reportPath}`);
102
+ console.log(JSON.stringify(validationResult, null, 2));
94
103
  if (options.yes) {
95
104
  console.log("Continuing with migration despite issues (--yes flag provided)");
96
105
  }
@@ -121,7 +130,7 @@ program
121
130
  }
122
131
  }
123
132
  if (!options.skipSchemaMigration) {
124
- console.log("Step 1: Migrating schema structure...");
133
+ console.log("Step 2: Migrating schema structure...");
125
134
  if (options.mode === "multi-tenant") {
126
135
  await execAsync("node dist/scripts/migrate-schema-structure.js");
127
136
  }
@@ -150,19 +159,29 @@ program
150
159
  }
151
160
  }
152
161
  if (!options.skipEnumSync) {
153
- console.log("Step 2: Synchronizing enum types...");
162
+ console.log("Step 3: Synchronizing and fixing enum types...");
154
163
  const { EnumSynchronizer } = await Promise.resolve().then(() => require("./sync-enum-types"));
155
164
  const synchronizer = new EnumSynchronizer();
156
165
  await synchronizer.synchronizeEnums();
157
166
  console.log("Enum types synchronized successfully!");
158
- console.log("Step 2.1: Synchronizing enum values...");
167
+ console.log("Step 3.1: Synchronizing enum values...");
159
168
  const { EnumValueSynchronizer } = await Promise.resolve().then(() => require("./sync-enum-values"));
160
169
  const valueSynchronizer = new EnumValueSynchronizer();
161
170
  await valueSynchronizer.synchronizeEnumValues();
162
171
  console.log("Enum values synchronized successfully!");
172
+ console.log("Step 3.2: Fixing enum values...");
173
+ const { EnumFixer } = await Promise.resolve().then(() => require("./fix-enum-values"));
174
+ const enumFixer = new EnumFixer(process.env.DATABASE_URL);
175
+ await enumFixer.fixEnumValues();
176
+ console.log("Enum values fixed successfully!");
163
177
  }
178
+ console.log("Step 4: Fixing data type issues...");
179
+ const { DataTypeFixer } = await Promise.resolve().then(() => require("./fix-data-types"));
180
+ const fixer = new DataTypeFixer();
181
+ await fixer.fixDataTypes();
182
+ console.log("Data type fixing completed successfully!");
164
183
  if (!options.skipDataMigration) {
165
- console.log("Step 3: Migrating data with transformation...");
184
+ console.log("Step 5: Migrating data with transformation...");
166
185
  const { DataMigrationTool } = await Promise.resolve().then(() => require("./data-migration/migration-tool"));
167
186
  const { PrismaClient } = await Promise.resolve().then(() => require("@prisma/client"));
168
187
  const { Pool } = await Promise.resolve().then(() => require("pg"));
@@ -210,30 +229,32 @@ program
210
229
  await connections.targetPrisma.$disconnect();
211
230
  }
212
231
  }
213
- console.log("Step 4: Fixing enum values...");
214
- const { EnumFixer } = await Promise.resolve().then(() => require("./fix-enum-values"));
215
- const enumFixer = new EnumFixer(process.env.DATABASE_URL);
216
- await enumFixer.fixEnumValues();
217
- console.log("Enum values fixed successfully!");
218
- console.log("Step 5: Fixing data type issues...");
219
- const { DataTypeFixer } = await Promise.resolve().then(() => require("./fix-data-types"));
220
- const fixer = new DataTypeFixer();
221
- await fixer.fixDataTypes();
222
- console.log("Data type fixing completed successfully!");
223
232
  if (!options.skipValidation) {
224
233
  console.log("Step 6: Running post-migration validation...");
225
234
  const { PostMigrationValidator } = await Promise.resolve().then(() => require("./post-migration-validator"));
226
235
  const validator = new PostMigrationValidator();
227
- const result = await validator.validate();
236
+ const result = await validator.validate({
237
+ publicOnly: options.mode === "public-only",
238
+ });
228
239
  if (result.success) {
229
240
  console.log("Post-migration validation successful!");
230
241
  }
231
242
  else {
232
243
  console.log(`Post-migration validation found ${result.issueCount} issues.`);
233
- console.log(`Check the full report at: ${result.reportPath}`);
234
- console.log("You may need to run 'retry-failed' command to fix these issues.");
244
+ console.log(JSON.stringify(result, null, 2));
245
+ if (!options.force) {
246
+ console.error("Migration validation failed. Use --force to continue anyway.");
247
+ process.exit(1);
248
+ }
249
+ console.log("Continuing with migration despite validation issues (--force flag provided)");
235
250
  }
236
251
  }
252
+ if (!options.skipSequenceSync) {
253
+ console.log("Step 7: Synchronizing database sequences...");
254
+ const sequenceSynchronizer = new sequence_synchronizer_1.SequenceSynchronizer(process.env.DATABASE_URL);
255
+ await sequenceSynchronizer.synchronizeSequences();
256
+ console.log("Database sequences synchronized successfully!");
257
+ }
237
258
  console.log("Migration process completed successfully!");
238
259
  }
239
260
  catch (error) {
@@ -366,7 +387,7 @@ program
366
387
  }
367
388
  else {
368
389
  console.log(`Pre-migration validation found ${result.issueCount} issues.`);
369
- console.log(`Check the full report at: ${result.reportPath}`);
390
+ console.log(JSON.stringify(result, null, 2));
370
391
  if (options.yes) {
371
392
  console.log("Continuing with migration despite issues (--yes flag provided)");
372
393
  process.exit(0);
@@ -450,7 +471,7 @@ program
450
471
  }
451
472
  else {
452
473
  console.log(`Post-migration validation found ${result.issueCount} issues.`);
453
- console.log(`Check the full report at: ${result.reportPath}`);
474
+ console.log(JSON.stringify(result, null, 2));
454
475
  }
455
476
  }
456
477
  catch (error) {