@javalabs/prisma-client 1.0.26 → 1.0.27

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.
Files changed (122) hide show
  1. package/package.json +5 -5
  2. package/prisma/schema.prisma +0 -6
  3. package/dist/index.d.ts +0 -7
  4. package/dist/index.js +0 -34
  5. package/dist/index.js.map +0 -1
  6. package/dist/prisma-factory.service.d.ts +0 -9
  7. package/dist/prisma-factory.service.js +0 -47
  8. package/dist/prisma-factory.service.js.map +0 -1
  9. package/dist/prisma.module.d.ts +0 -2
  10. package/dist/prisma.module.js +0 -23
  11. package/dist/prisma.module.js.map +0 -1
  12. package/dist/prisma.service.d.ts +0 -6
  13. package/dist/prisma.service.js +0 -27
  14. package/dist/prisma.service.js.map +0 -1
  15. package/dist/scripts/add-uuid-to-table.d.ts +0 -8
  16. package/dist/scripts/add-uuid-to-table.js +0 -98
  17. package/dist/scripts/add-uuid-to-table.js.map +0 -1
  18. package/dist/scripts/create-tenant-schemas.d.ts +0 -1
  19. package/dist/scripts/create-tenant-schemas.js +0 -117
  20. package/dist/scripts/create-tenant-schemas.js.map +0 -1
  21. package/dist/scripts/data-migration/batch-migrator.d.ts +0 -20
  22. package/dist/scripts/data-migration/batch-migrator.js +0 -134
  23. package/dist/scripts/data-migration/batch-migrator.js.map +0 -1
  24. package/dist/scripts/data-migration/data-transformer.d.ts +0 -26
  25. package/dist/scripts/data-migration/data-transformer.js +0 -278
  26. package/dist/scripts/data-migration/data-transformer.js.map +0 -1
  27. package/dist/scripts/data-migration/db-connector.d.ts +0 -12
  28. package/dist/scripts/data-migration/db-connector.js +0 -94
  29. package/dist/scripts/data-migration/db-connector.js.map +0 -1
  30. package/dist/scripts/data-migration/dependency-resolver.d.ts +0 -18
  31. package/dist/scripts/data-migration/dependency-resolver.js +0 -132
  32. package/dist/scripts/data-migration/dependency-resolver.js.map +0 -1
  33. package/dist/scripts/data-migration/entity-discovery.d.ts +0 -11
  34. package/dist/scripts/data-migration/entity-discovery.js +0 -152
  35. package/dist/scripts/data-migration/entity-discovery.js.map +0 -1
  36. package/dist/scripts/data-migration/foreign-key-manager.d.ts +0 -18
  37. package/dist/scripts/data-migration/foreign-key-manager.js +0 -160
  38. package/dist/scripts/data-migration/foreign-key-manager.js.map +0 -1
  39. package/dist/scripts/data-migration/migration-tool.d.ts +0 -48
  40. package/dist/scripts/data-migration/migration-tool.js +0 -290
  41. package/dist/scripts/data-migration/migration-tool.js.map +0 -1
  42. package/dist/scripts/data-migration/schema-utils.d.ts +0 -18
  43. package/dist/scripts/data-migration/schema-utils.js +0 -207
  44. package/dist/scripts/data-migration/schema-utils.js.map +0 -1
  45. package/dist/scripts/data-migration/tenant-migrator.d.ts +0 -15
  46. package/dist/scripts/data-migration/tenant-migrator.js +0 -117
  47. package/dist/scripts/data-migration/tenant-migrator.js.map +0 -1
  48. package/dist/scripts/data-migration/typecast-manager.d.ts +0 -9
  49. package/dist/scripts/data-migration/typecast-manager.js +0 -179
  50. package/dist/scripts/data-migration/typecast-manager.js.map +0 -1
  51. package/dist/scripts/data-migration/types.d.ts +0 -100
  52. package/dist/scripts/data-migration/types.js +0 -3
  53. package/dist/scripts/data-migration/types.js.map +0 -1
  54. package/dist/scripts/database-initializer.d.ts +0 -5
  55. package/dist/scripts/database-initializer.js +0 -45
  56. package/dist/scripts/database-initializer.js.map +0 -1
  57. package/dist/scripts/drop-database.d.ts +0 -10
  58. package/dist/scripts/drop-database.js +0 -81
  59. package/dist/scripts/drop-database.js.map +0 -1
  60. package/dist/scripts/encrypt-user-passwords.d.ts +0 -1
  61. package/dist/scripts/encrypt-user-passwords.js +0 -33
  62. package/dist/scripts/encrypt-user-passwords.js.map +0 -1
  63. package/dist/scripts/error-handler.d.ts +0 -12
  64. package/dist/scripts/error-handler.js +0 -82
  65. package/dist/scripts/error-handler.js.map +0 -1
  66. package/dist/scripts/fix-data-types.d.ts +0 -10
  67. package/dist/scripts/fix-data-types.js +0 -185
  68. package/dist/scripts/fix-data-types.js.map +0 -1
  69. package/dist/scripts/fix-enum-values.d.ts +0 -17
  70. package/dist/scripts/fix-enum-values.js +0 -234
  71. package/dist/scripts/fix-enum-values.js.map +0 -1
  72. package/dist/scripts/fix-schema-discrepancies.d.ts +0 -21
  73. package/dist/scripts/fix-schema-discrepancies.js +0 -240
  74. package/dist/scripts/fix-schema-discrepancies.js.map +0 -1
  75. package/dist/scripts/fix-table-indexes.d.ts +0 -26
  76. package/dist/scripts/fix-table-indexes.js +0 -460
  77. package/dist/scripts/fix-table-indexes.js.map +0 -1
  78. package/dist/scripts/migrate-schema-structure.d.ts +0 -1
  79. package/dist/scripts/migrate-schema-structure.js +0 -76
  80. package/dist/scripts/migrate-schema-structure.js.map +0 -1
  81. package/dist/scripts/migrate-uuid.d.ts +0 -2
  82. package/dist/scripts/migrate-uuid.js +0 -57
  83. package/dist/scripts/migrate-uuid.js.map +0 -1
  84. package/dist/scripts/post-migration-validator.d.ts +0 -34
  85. package/dist/scripts/post-migration-validator.js +0 -363
  86. package/dist/scripts/post-migration-validator.js.map +0 -1
  87. package/dist/scripts/pre-migration-validator.d.ts +0 -25
  88. package/dist/scripts/pre-migration-validator.js +0 -491
  89. package/dist/scripts/pre-migration-validator.js.map +0 -1
  90. package/dist/scripts/reset-database.d.ts +0 -17
  91. package/dist/scripts/reset-database.js +0 -202
  92. package/dist/scripts/reset-database.js.map +0 -1
  93. package/dist/scripts/retry-failed-migrations.d.ts +0 -14
  94. package/dist/scripts/retry-failed-migrations.js +0 -301
  95. package/dist/scripts/retry-failed-migrations.js.map +0 -1
  96. package/dist/scripts/run-migration.d.ts +0 -1
  97. package/dist/scripts/run-migration.js +0 -512
  98. package/dist/scripts/run-migration.js.map +0 -1
  99. package/dist/scripts/schema-sync.d.ts +0 -1
  100. package/dist/scripts/schema-sync.js +0 -85
  101. package/dist/scripts/schema-sync.js.map +0 -1
  102. package/dist/scripts/sequence-sync-cli.d.ts +0 -2
  103. package/dist/scripts/sequence-sync-cli.js +0 -287
  104. package/dist/scripts/sequence-sync-cli.js.map +0 -1
  105. package/dist/scripts/sequence-synchronizer.d.ts +0 -8
  106. package/dist/scripts/sequence-synchronizer.js +0 -88
  107. package/dist/scripts/sequence-synchronizer.js.map +0 -1
  108. package/dist/scripts/sync-enum-types.d.ts +0 -13
  109. package/dist/scripts/sync-enum-types.js +0 -139
  110. package/dist/scripts/sync-enum-types.js.map +0 -1
  111. package/dist/scripts/sync-enum-values.d.ts +0 -20
  112. package/dist/scripts/sync-enum-values.js +0 -336
  113. package/dist/scripts/sync-enum-values.js.map +0 -1
  114. package/dist/scripts/truncate-database.d.ts +0 -10
  115. package/dist/scripts/truncate-database.js +0 -100
  116. package/dist/scripts/truncate-database.js.map +0 -1
  117. package/dist/scripts/verify-migration-setup.d.ts +0 -11
  118. package/dist/scripts/verify-migration-setup.js +0 -120
  119. package/dist/scripts/verify-migration-setup.js.map +0 -1
  120. package/dist/tsconfig.tsbuildinfo +0 -1
  121. package/prisma/migrations/add_athena_match_fields.sql +0 -18
  122. package/prisma/migrations/add_bank_receipt_number.sql +0 -9
@@ -1,491 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PreMigrationValidator = void 0;
4
- const pg = require("pg");
5
- const dotenv = require("dotenv");
6
- const common_1 = require("@nestjs/common");
7
- const fs = require("fs");
8
- const path = require("path");
9
- dotenv.config();
10
- class PreMigrationValidator {
11
- constructor(sourceUrl = process.env.SOURCE_DATABASE_URL, targetUrl = process.env.DATABASE_URL) {
12
- this.sourceUrl = sourceUrl;
13
- this.targetUrl = targetUrl;
14
- this.logger = new common_1.Logger('PreMigrationValidator');
15
- this.issues = [];
16
- this.sourcePool = new pg.Pool({
17
- connectionString: this.sourceUrl,
18
- });
19
- this.targetPool = new pg.Pool({
20
- connectionString: this.targetUrl,
21
- });
22
- const reportsDir = path.join(process.cwd(), 'migration-logs');
23
- if (!fs.existsSync(reportsDir)) {
24
- fs.mkdirSync(reportsDir, { recursive: true });
25
- }
26
- const timestamp = new Date().toISOString().replace(/:/g, '-').replace(/\..+/, '');
27
- this.reportPath = path.join(reportsDir, `pre-migration-report-${timestamp}.json`);
28
- }
29
- async validate() {
30
- try {
31
- this.logger.log('Starting pre-migration validation');
32
- await this.validateDatabaseConnections();
33
- await this.validateApiKeys();
34
- await this.validateDataTypeCompatibility();
35
- await this.validateColumnSizes();
36
- await this.validateEnumValues();
37
- await this.validateForeignKeyConstraints();
38
- await this.validateUniqueConstraints();
39
- this.saveReport();
40
- this.logger.log(`Validation completed with ${this.issues.length} issues found`);
41
- if (this.issues.length > 0) {
42
- this.logger.log(`Check the full report at: ${this.reportPath}`);
43
- this.logger.log('Sample issues:');
44
- for (let i = 0; i < Math.min(5, this.issues.length); i++) {
45
- const issue = this.issues[i];
46
- this.logger.log(`- ${issue.type}: ${issue.message}`);
47
- }
48
- }
49
- else {
50
- this.logger.log('No issues found. Migration should proceed smoothly.');
51
- }
52
- return {
53
- success: this.issues.length === 0,
54
- issueCount: this.issues.length,
55
- reportPath: this.reportPath
56
- };
57
- }
58
- catch (error) {
59
- this.logger.error(`Error during validation: ${error.message}`, error.stack);
60
- this.issues.push({
61
- type: 'VALIDATION_ERROR',
62
- message: `Validation process failed: ${error.message}`,
63
- details: error.stack
64
- });
65
- this.saveReport();
66
- return {
67
- success: false,
68
- issueCount: this.issues.length,
69
- reportPath: this.reportPath
70
- };
71
- }
72
- finally {
73
- await this.cleanup();
74
- }
75
- }
76
- async validateDatabaseConnections() {
77
- this.logger.log('Validating database connections');
78
- try {
79
- await this.sourcePool.query('SELECT 1');
80
- this.logger.log('Source database connection successful');
81
- }
82
- catch (error) {
83
- this.logger.error(`Source database connection failed: ${error.message}`);
84
- this.issues.push({
85
- type: 'CONNECTION_ERROR',
86
- source: 'source',
87
- message: `Cannot connect to source database: ${error.message}`
88
- });
89
- }
90
- try {
91
- await this.targetPool.query('SELECT 1');
92
- this.logger.log('Target database connection successful');
93
- }
94
- catch (error) {
95
- this.logger.error(`Target database connection failed: ${error.message}`);
96
- this.issues.push({
97
- type: 'CONNECTION_ERROR',
98
- source: 'target',
99
- message: `Cannot connect to target database: ${error.message}`
100
- });
101
- }
102
- }
103
- async validateApiKeys() {
104
- this.logger.log('Validating API keys');
105
- try {
106
- const result = await this.sourcePool.query(`
107
- SELECT COUNT(*) as count FROM api_keys
108
- `);
109
- const count = parseInt(result.rows[0].count);
110
- if (count === 0) {
111
- this.logger.warn('No API keys found in source database');
112
- this.issues.push({
113
- type: 'DATA_ERROR',
114
- message: 'No API keys found in source database. Migration will not create any tenant schemas.'
115
- });
116
- }
117
- else {
118
- this.logger.log(`Found ${count} API keys in source database`);
119
- }
120
- }
121
- catch (error) {
122
- this.logger.error(`Error validating API keys: ${error.message}`);
123
- this.issues.push({
124
- type: 'VALIDATION_ERROR',
125
- message: `Error validating API keys: ${error.message}`
126
- });
127
- }
128
- }
129
- async validateDataTypeCompatibility() {
130
- this.logger.log('Validating data type compatibility');
131
- try {
132
- const tablesResult = await this.sourcePool.query(`
133
- SELECT table_name
134
- FROM information_schema.tables
135
- WHERE table_schema = 'public'
136
- AND table_type = 'BASE TABLE'
137
- `);
138
- for (const tableRow of tablesResult.rows) {
139
- const tableName = tableRow.table_name;
140
- const sourceColumnsResult = await this.sourcePool.query(`
141
- SELECT column_name, data_type, udt_name
142
- FROM information_schema.columns
143
- WHERE table_schema = 'public'
144
- AND table_name = $1
145
- `, [tableName]);
146
- const targetTableExists = await this.targetPool.query(`
147
- SELECT 1
148
- FROM information_schema.tables
149
- WHERE table_schema = 'public'
150
- AND table_name = $1
151
- LIMIT 1
152
- `, [tableName]);
153
- if (targetTableExists.rows.length === 0) {
154
- continue;
155
- }
156
- const targetColumnsResult = await this.targetPool.query(`
157
- SELECT column_name, data_type, udt_name
158
- FROM information_schema.columns
159
- WHERE table_schema = 'public'
160
- AND table_name = $1
161
- `, [tableName]);
162
- const sourceColumns = sourceColumnsResult.rows.reduce((map, col) => {
163
- map[col.column_name] = col;
164
- return map;
165
- }, {});
166
- const targetColumns = targetColumnsResult.rows.reduce((map, col) => {
167
- map[col.column_name] = col;
168
- return map;
169
- }, {});
170
- for (const columnName in sourceColumns) {
171
- if (targetColumns[columnName]) {
172
- const sourceType = sourceColumns[columnName].data_type;
173
- const targetType = targetColumns[columnName].data_type;
174
- if (sourceType !== targetType) {
175
- const isCompatible = this.areTypesCompatible(sourceType, targetType);
176
- if (!isCompatible) {
177
- this.logger.warn(`Data type mismatch for ${tableName}.${columnName}: ${sourceType} (source) vs ${targetType} (target)`);
178
- this.issues.push({
179
- type: 'TYPE_MISMATCH',
180
- table: tableName,
181
- column: columnName,
182
- sourceType,
183
- targetType,
184
- message: `Data type mismatch for ${tableName}.${columnName}: ${sourceType} (source) vs ${targetType} (target)`
185
- });
186
- }
187
- }
188
- }
189
- }
190
- }
191
- }
192
- catch (error) {
193
- this.logger.error(`Error validating data type compatibility: ${error.message}`);
194
- this.issues.push({
195
- type: 'VALIDATION_ERROR',
196
- message: `Error validating data type compatibility: ${error.message}`
197
- });
198
- }
199
- }
200
- areTypesCompatible(sourceType, targetType) {
201
- const compatibleTypes = [
202
- ['character varying', 'varchar'],
203
- ['character', 'char'],
204
- ['integer', 'int'],
205
- ['boolean', 'bool'],
206
- ['double precision', 'float8'],
207
- ['real', 'float4'],
208
- ['timestamp without time zone', 'timestamp'],
209
- ['timestamp with time zone', 'timestamptz']
210
- ];
211
- if (sourceType === targetType) {
212
- return true;
213
- }
214
- return compatibleTypes.some(pair => (pair[0] === sourceType && pair[1] === targetType) ||
215
- (pair[0] === targetType && pair[1] === sourceType));
216
- }
217
- async validateColumnSizes() {
218
- this.logger.log('Validating column sizes');
219
- try {
220
- const tablesResult = await this.sourcePool.query(`
221
- SELECT table_name
222
- FROM information_schema.tables
223
- WHERE table_schema = 'public'
224
- AND table_type = 'BASE TABLE'
225
- `);
226
- for (const tableRow of tablesResult.rows) {
227
- const tableName = tableRow.table_name;
228
- const sourceColumnsResult = await this.sourcePool.query(`
229
- SELECT column_name, data_type, character_maximum_length
230
- FROM information_schema.columns
231
- WHERE table_schema = 'public'
232
- AND table_name = $1
233
- AND data_type IN ('character varying', 'character', 'varchar', 'char')
234
- AND character_maximum_length IS NOT NULL
235
- `, [tableName]);
236
- const targetTableExists = await this.targetPool.query(`
237
- SELECT 1
238
- FROM information_schema.tables
239
- WHERE table_schema = 'public'
240
- AND table_name = $1
241
- LIMIT 1
242
- `, [tableName]);
243
- if (targetTableExists.rows.length === 0) {
244
- continue;
245
- }
246
- for (const sourceColumn of sourceColumnsResult.rows) {
247
- const columnName = sourceColumn.column_name;
248
- const sourceMaxLength = sourceColumn.character_maximum_length;
249
- const targetColumnResult = await this.targetPool.query(`
250
- SELECT character_maximum_length
251
- FROM information_schema.columns
252
- WHERE table_schema = 'public'
253
- AND table_name = $1
254
- AND column_name = $2
255
- AND data_type IN ('character varying', 'character', 'varchar', 'char')
256
- `, [tableName, columnName]);
257
- if (targetColumnResult.rows.length > 0) {
258
- const targetMaxLength = targetColumnResult.rows[0].character_maximum_length;
259
- if (targetMaxLength < sourceMaxLength) {
260
- this.logger.warn(`Column size mismatch for ${tableName}.${columnName}: ${sourceMaxLength} (source) vs ${targetMaxLength} (target)`);
261
- this.issues.push({
262
- type: 'SIZE_MISMATCH',
263
- table: tableName,
264
- column: columnName,
265
- sourceSize: sourceMaxLength,
266
- targetSize: targetMaxLength,
267
- message: `Column size mismatch for ${tableName}.${columnName}: ${sourceMaxLength} (source) vs ${targetMaxLength} (target). Data may be truncated.`
268
- });
269
- }
270
- }
271
- }
272
- }
273
- }
274
- catch (error) {
275
- this.logger.error(`Error validating column sizes: ${error.message}`);
276
- this.issues.push({
277
- type: 'VALIDATION_ERROR',
278
- message: `Error validating column sizes: ${error.message}`
279
- });
280
- }
281
- }
282
- async validateEnumValues() {
283
- this.logger.log('Validating enum values');
284
- try {
285
- const sourceEnumsResult = await this.sourcePool.query(`
286
- SELECT t.typname AS enum_name
287
- FROM pg_type t
288
- JOIN pg_catalog.pg_namespace n ON n.oid = t.typnamespace
289
- WHERE t.typtype = 'e'
290
- AND n.nspname = 'public'
291
- `);
292
- for (const enumRow of sourceEnumsResult.rows) {
293
- const enumName = enumRow.enum_name;
294
- const sourceEnumValuesResult = await this.sourcePool.query(`
295
- SELECT e.enumlabel
296
- FROM pg_enum e
297
- JOIN pg_type t ON e.enumtypid = t.oid
298
- WHERE t.typname = $1
299
- ORDER BY e.enumsortorder
300
- `, [enumName]);
301
- const sourceEnumValues = sourceEnumValuesResult.rows.map(row => row.enumlabel);
302
- const targetEnumExistsResult = await this.targetPool.query(`
303
- SELECT 1
304
- FROM pg_type t
305
- JOIN pg_catalog.pg_namespace n ON n.oid = t.typnamespace
306
- WHERE t.typtype = 'e'
307
- AND t.typname = $1
308
- AND n.nspname = 'public'
309
- LIMIT 1
310
- `, [enumName]);
311
- if (targetEnumExistsResult.rows.length === 0) {
312
- continue;
313
- }
314
- const targetEnumValuesResult = await this.targetPool.query(`
315
- SELECT e.enumlabel
316
- FROM pg_enum e
317
- JOIN pg_type t ON e.enumtypid = t.oid
318
- WHERE t.typname = $1
319
- ORDER BY e.enumsortorder
320
- `, [enumName]);
321
- const targetEnumValues = targetEnumValuesResult.rows.map(row => row.enumlabel);
322
- for (const sourceValue of sourceEnumValues) {
323
- if (!targetEnumValues.includes(sourceValue)) {
324
- this.logger.warn(`Enum value '${sourceValue}' for type ${enumName} exists in source but not in target`);
325
- this.issues.push({
326
- type: 'ENUM_VALUE_MISSING',
327
- enumType: enumName,
328
- value: sourceValue,
329
- message: `Enum value '${sourceValue}' for type ${enumName} exists in source but not in target. Data migration will fail for records with this value.`
330
- });
331
- }
332
- }
333
- }
334
- }
335
- catch (error) {
336
- this.logger.error(`Error validating enum values: ${error.message}`);
337
- this.issues.push({
338
- type: 'VALIDATION_ERROR',
339
- message: `Error validating enum values: ${error.message}`
340
- });
341
- }
342
- }
343
- async validateForeignKeyConstraints() {
344
- this.logger.log('Validating foreign key constraints');
345
- try {
346
- const foreignKeysResult = await this.sourcePool.query(`
347
- SELECT
348
- tc.table_name,
349
- kcu.column_name,
350
- ccu.table_name AS foreign_table_name,
351
- ccu.column_name AS foreign_column_name
352
- FROM
353
- information_schema.table_constraints AS tc
354
- JOIN information_schema.key_column_usage AS kcu
355
- ON tc.constraint_name = kcu.constraint_name
356
- AND tc.table_schema = kcu.table_schema
357
- JOIN information_schema.constraint_column_usage AS ccu
358
- ON ccu.constraint_name = tc.constraint_name
359
- AND ccu.table_schema = tc.table_schema
360
- WHERE tc.constraint_type = 'FOREIGN KEY'
361
- AND tc.table_schema = 'public'
362
- `);
363
- this.logger.log(`Found ${foreignKeysResult.rows.length} foreign key constraints in source database`);
364
- }
365
- catch (error) {
366
- this.logger.error(`Error validating foreign key constraints: ${error.message}`);
367
- this.issues.push({
368
- type: 'VALIDATION_ERROR',
369
- message: `Error validating foreign key constraints: ${error.message}`
370
- });
371
- }
372
- }
373
- async validateUniqueConstraints() {
374
- this.logger.log('Validating unique constraints...');
375
- try {
376
- const sourceConstraintsQuery = `
377
- SELECT
378
- tc.table_name,
379
- kcu.column_name
380
- FROM
381
- information_schema.table_constraints tc
382
- JOIN information_schema.key_column_usage kcu
383
- ON tc.constraint_name = kcu.constraint_name
384
- WHERE
385
- tc.constraint_type = 'UNIQUE'
386
- AND tc.table_schema = 'public'
387
- `;
388
- const sourceConstraints = await this.sourcePool.query(sourceConstraintsQuery);
389
- for (const constraint of sourceConstraints.rows) {
390
- const { table_name, column_name } = constraint;
391
- try {
392
- const columnExistsQuery = `
393
- SELECT column_name
394
- FROM information_schema.columns
395
- WHERE table_name = $1
396
- AND column_name = $2
397
- AND table_schema = 'public'
398
- `;
399
- const columnExists = await this.targetPool.query(columnExistsQuery, [table_name, column_name]);
400
- if (columnExists.rows.length === 0) {
401
- this.issues.push({
402
- type: 'COLUMN_MISMATCH',
403
- message: `Column "${column_name}" in table "${table_name}" exists in source but not in target`,
404
- severity: 'WARNING',
405
- details: {
406
- table: table_name,
407
- column: column_name,
408
- constraint_type: 'UNIQUE'
409
- }
410
- });
411
- continue;
412
- }
413
- }
414
- catch (error) {
415
- if (error.message.includes('does not exist')) {
416
- this.issues.push({
417
- type: 'COLUMN_MISMATCH',
418
- message: `Error checking column "${column_name}" in table "${table_name}": ${error.message}`,
419
- severity: 'WARNING',
420
- details: {
421
- table: table_name,
422
- column: column_name,
423
- error: error.message
424
- }
425
- });
426
- }
427
- else {
428
- throw error;
429
- }
430
- }
431
- }
432
- this.logger.log('Unique constraints validation completed');
433
- }
434
- catch (error) {
435
- this.issues.push({
436
- type: 'VALIDATION_ERROR',
437
- message: `Error validating unique constraints: ${error.message}`,
438
- severity: 'WARNING',
439
- details: {
440
- error: error.message,
441
- stack: error.stack
442
- }
443
- });
444
- this.logger.warn(`Error during unique constraints validation: ${error.message}`);
445
- }
446
- }
447
- saveReport() {
448
- try {
449
- const report = {
450
- timestamp: new Date().toISOString(),
451
- sourceDatabase: this.sourceUrl,
452
- targetDatabase: this.targetUrl,
453
- issueCount: this.issues.length,
454
- issues: this.issues
455
- };
456
- fs.writeFileSync(this.reportPath, JSON.stringify(report, null, 2), 'utf8');
457
- }
458
- catch (error) {
459
- this.logger.error(`Error saving validation report: ${error.message}`);
460
- }
461
- }
462
- async cleanup() {
463
- this.logger.log('Cleaning up database connections');
464
- await this.sourcePool.end();
465
- await this.targetPool.end();
466
- }
467
- }
468
- exports.PreMigrationValidator = PreMigrationValidator;
469
- if (require.main === module) {
470
- const run = async () => {
471
- try {
472
- const validator = new PreMigrationValidator();
473
- const result = await validator.validate();
474
- if (result.success) {
475
- console.log('Validation successful! No issues found.');
476
- process.exit(0);
477
- }
478
- else {
479
- console.log(`Validation completed with ${result.issueCount} issues found.`);
480
- console.log(`Check the full report at: ${result.reportPath}`);
481
- process.exit(1);
482
- }
483
- }
484
- catch (error) {
485
- console.error('Error:', error.message);
486
- process.exit(1);
487
- }
488
- };
489
- run();
490
- }
491
- //# sourceMappingURL=pre-migration-validator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pre-migration-validator.js","sourceRoot":"","sources":["../../src/scripts/pre-migration-validator.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- export declare class DatabaseResetTool {
2
- private readonly databaseUrl;
3
- private readonly logger;
4
- private readonly pool;
5
- private readonly adminPool;
6
- private readonly prisma;
7
- constructor(databaseUrl: string);
8
- resetDatabase(recreateDb?: boolean): Promise<boolean>;
9
- private dropAllSchemas;
10
- private dropAllPublicTables;
11
- private dropAllCustomTypes;
12
- private getCustomSchemas;
13
- private getPublicTables;
14
- private extractDatabaseName;
15
- private terminateConnections;
16
- private cleanup;
17
- }