mysqlsyncr 1.0.78 → 1.0.82

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/index.cjs CHANGED
@@ -3201,6 +3201,71 @@ var findDifferences = function findDifferences(expected, current) {
3201
3201
  });
3202
3202
  continue;
3203
3203
  }
3204
+
3205
+ //verify triggers
3206
+ logger('Verifying triggers for table', _tableName);
3207
+ var _iterator = _createForOfIteratorHelper(triggers),
3208
+ _step;
3209
+ try {
3210
+ var _loop = function _loop() {
3211
+ var trigger = _step.value;
3212
+ var currentTrigger = current.tables[_tableName].triggers.find(function (t) {
3213
+ return t.Name === trigger.Name;
3214
+ });
3215
+ if (!currentTrigger) {
3216
+ logger('Missing trigger', trigger);
3217
+ differences.push({
3218
+ type: 'missing_trigger',
3219
+ tableName: _tableName,
3220
+ trigger: trigger
3221
+ });
3222
+ } else {
3223
+ // Compare additional properties if needed
3224
+ if (currentTrigger.Event !== trigger.Event || currentTrigger.Statement !== trigger.Statement) {
3225
+ logger('Mismatched trigger', {
3226
+ expected: trigger,
3227
+ current: currentTrigger
3228
+ });
3229
+ differences.push({
3230
+ type: 'mismatched_trigger',
3231
+ tableName: _tableName,
3232
+ trigger: trigger
3233
+ });
3234
+ }
3235
+ }
3236
+ };
3237
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
3238
+ _loop();
3239
+ }
3240
+ } catch (err) {
3241
+ _iterator.e(err);
3242
+ } finally {
3243
+ _iterator.f();
3244
+ }
3245
+ var _iterator2 = _createForOfIteratorHelper(current.tables[_tableName].triggers),
3246
+ _step2;
3247
+ try {
3248
+ var _loop2 = function _loop2() {
3249
+ var trigger = _step2.value;
3250
+ if (!triggers.some(function (t) {
3251
+ return t.Name === trigger.Name;
3252
+ })) {
3253
+ logger('Extra trigger', trigger);
3254
+ differences.push({
3255
+ type: 'extra_trigger',
3256
+ tableName: _tableName,
3257
+ trigger: trigger
3258
+ });
3259
+ }
3260
+ };
3261
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
3262
+ _loop2();
3263
+ }
3264
+ } catch (err) {
3265
+ _iterator2.e(err);
3266
+ } finally {
3267
+ _iterator2.f();
3268
+ }
3204
3269
  var createTableSql = current.tables[_tableName].createSQL;
3205
3270
  if (createTableSql === contents.createSQL) {
3206
3271
  logger("Table ".concat(_tableName, " createSQL matches from json, skipping indexes, triggers, and fields"));
@@ -3234,11 +3299,11 @@ var findDifferences = function findDifferences(expected, current) {
3234
3299
 
3235
3300
  logger('Detecting extra fields for table', _tableName);
3236
3301
  // Detect extra fields
3237
- var _iterator = _createForOfIteratorHelper(current.tables[_tableName].columns),
3238
- _step;
3302
+ var _iterator3 = _createForOfIteratorHelper(current.tables[_tableName].columns),
3303
+ _step3;
3239
3304
  try {
3240
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
3241
- var field = _step.value;
3305
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
3306
+ var field = _step3.value;
3242
3307
  if (!expectedFieldNames.includes(field.Field)) {
3243
3308
  differences.push({
3244
3309
  type: 'extra_field',
@@ -3250,16 +3315,16 @@ var findDifferences = function findDifferences(expected, current) {
3250
3315
 
3251
3316
  // verify Type Null and Default
3252
3317
  } catch (err) {
3253
- _iterator.e(err);
3318
+ _iterator3.e(err);
3254
3319
  } finally {
3255
- _iterator.f();
3320
+ _iterator3.f();
3256
3321
  }
3257
3322
  logger('Verifying Type Null and Default for table', _tableName);
3258
- var _iterator2 = _createForOfIteratorHelper(columns),
3259
- _step2;
3323
+ var _iterator4 = _createForOfIteratorHelper(columns),
3324
+ _step4;
3260
3325
  try {
3261
- var _loop = function _loop() {
3262
- var field = _step2.value;
3326
+ var _loop3 = function _loop3() {
3327
+ var field = _step4.value;
3263
3328
  var currentField = current.tables[_tableName].columns.find(function (f) {
3264
3329
  return f.Field === field.Field;
3265
3330
  });
@@ -3291,7 +3356,7 @@ var findDifferences = function findDifferences(expected, current) {
3291
3356
  });
3292
3357
  }
3293
3358
  if (field.Type !== currentField.Type) {
3294
- if (field.Type == 'int' && currentField.Type == 'int(11)') return 0; // continue
3359
+ if (field.Type == 'int' && currentField.Type.startsWith('int(')) return 0; // continue
3295
3360
  // int(11) is the default for int and used on older versions of mysql
3296
3361
  if (field.Type == 'smallint' && currentField.Type.startsWith('smallint(')) return 0; // continue
3297
3362
  // smallint(6) is the default for smallint and used on older versions of mysql
@@ -3311,23 +3376,23 @@ var findDifferences = function findDifferences(expected, current) {
3311
3376
  }
3312
3377
  },
3313
3378
  _ret;
3314
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
3315
- _ret = _loop();
3379
+ for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
3380
+ _ret = _loop3();
3316
3381
  if (_ret === 0) continue;
3317
3382
  }
3318
3383
 
3319
3384
  // verify indexes
3320
3385
  } catch (err) {
3321
- _iterator2.e(err);
3386
+ _iterator4.e(err);
3322
3387
  } finally {
3323
- _iterator2.f();
3388
+ _iterator4.f();
3324
3389
  }
3325
3390
  logger('Verifying indexes for table', _tableName);
3326
- var _iterator3 = _createForOfIteratorHelper(indexes),
3327
- _step3;
3391
+ var _iterator5 = _createForOfIteratorHelper(indexes),
3392
+ _step5;
3328
3393
  try {
3329
- var _loop2 = function _loop2() {
3330
- var index = _step3.value;
3394
+ var _loop4 = function _loop4() {
3395
+ var index = _step5.value;
3331
3396
  // Check if the current index matches the expected index structure
3332
3397
  var currentIndex = current.tables[_tableName].indexes.find(function (i) {
3333
3398
  return i.ColumnName.sort().join(', ') === index.ColumnName.sort().join(', ');
@@ -3363,19 +3428,19 @@ var findDifferences = function findDifferences(expected, current) {
3363
3428
  }
3364
3429
  }
3365
3430
  };
3366
- for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
3367
- _loop2();
3431
+ for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
3432
+ _loop4();
3368
3433
  }
3369
3434
  } catch (err) {
3370
- _iterator3.e(err);
3435
+ _iterator5.e(err);
3371
3436
  } finally {
3372
- _iterator3.f();
3437
+ _iterator5.f();
3373
3438
  }
3374
- var _iterator4 = _createForOfIteratorHelper(current.tables[_tableName].indexes),
3375
- _step4;
3439
+ var _iterator6 = _createForOfIteratorHelper(current.tables[_tableName].indexes),
3440
+ _step6;
3376
3441
  try {
3377
- var _loop3 = function _loop3() {
3378
- var index = _step4.value;
3442
+ var _loop5 = function _loop5() {
3443
+ var index = _step6.value;
3379
3444
  logger('Checking index', index);
3380
3445
  var indexFound = false;
3381
3446
 
@@ -3392,71 +3457,6 @@ var findDifferences = function findDifferences(expected, current) {
3392
3457
  });
3393
3458
  }
3394
3459
  };
3395
- for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
3396
- _loop3();
3397
- }
3398
-
3399
- //verify triggers
3400
- } catch (err) {
3401
- _iterator4.e(err);
3402
- } finally {
3403
- _iterator4.f();
3404
- }
3405
- logger('Verifying triggers for table', _tableName);
3406
- var _iterator5 = _createForOfIteratorHelper(triggers),
3407
- _step5;
3408
- try {
3409
- var _loop4 = function _loop4() {
3410
- var trigger = _step5.value;
3411
- var currentTrigger = current.tables[_tableName].triggers.find(function (t) {
3412
- return t.Name === trigger.Name;
3413
- });
3414
- if (!currentTrigger) {
3415
- logger('Missing trigger', trigger);
3416
- differences.push({
3417
- type: 'missing_trigger',
3418
- tableName: _tableName,
3419
- trigger: trigger
3420
- });
3421
- } else {
3422
- // Compare additional properties if needed
3423
- if (currentTrigger.Event !== trigger.Event || currentTrigger.Statement !== trigger.Statement) {
3424
- logger('Mismatched trigger', {
3425
- expected: trigger,
3426
- current: currentTrigger
3427
- });
3428
- differences.push({
3429
- type: 'mismatched_trigger',
3430
- tableName: _tableName,
3431
- trigger: trigger
3432
- });
3433
- }
3434
- }
3435
- };
3436
- for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
3437
- _loop4();
3438
- }
3439
- } catch (err) {
3440
- _iterator5.e(err);
3441
- } finally {
3442
- _iterator5.f();
3443
- }
3444
- var _iterator6 = _createForOfIteratorHelper(current.tables[_tableName].triggers),
3445
- _step6;
3446
- try {
3447
- var _loop5 = function _loop5() {
3448
- var trigger = _step6.value;
3449
- if (!triggers.some(function (t) {
3450
- return t.Name === trigger.Name;
3451
- })) {
3452
- logger('Extra trigger', trigger);
3453
- differences.push({
3454
- type: 'extra_trigger',
3455
- tableName: _tableName,
3456
- trigger: trigger
3457
- });
3458
- }
3459
- };
3460
3460
  for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
3461
3461
  _loop5();
3462
3462
  }
package/dist/index.js CHANGED
@@ -3198,6 +3198,71 @@ var findDifferences = function findDifferences(expected, current) {
3198
3198
  });
3199
3199
  continue;
3200
3200
  }
3201
+
3202
+ //verify triggers
3203
+ logger('Verifying triggers for table', _tableName);
3204
+ var _iterator = _createForOfIteratorHelper(triggers),
3205
+ _step;
3206
+ try {
3207
+ var _loop = function _loop() {
3208
+ var trigger = _step.value;
3209
+ var currentTrigger = current.tables[_tableName].triggers.find(function (t) {
3210
+ return t.Name === trigger.Name;
3211
+ });
3212
+ if (!currentTrigger) {
3213
+ logger('Missing trigger', trigger);
3214
+ differences.push({
3215
+ type: 'missing_trigger',
3216
+ tableName: _tableName,
3217
+ trigger: trigger
3218
+ });
3219
+ } else {
3220
+ // Compare additional properties if needed
3221
+ if (currentTrigger.Event !== trigger.Event || currentTrigger.Statement !== trigger.Statement) {
3222
+ logger('Mismatched trigger', {
3223
+ expected: trigger,
3224
+ current: currentTrigger
3225
+ });
3226
+ differences.push({
3227
+ type: 'mismatched_trigger',
3228
+ tableName: _tableName,
3229
+ trigger: trigger
3230
+ });
3231
+ }
3232
+ }
3233
+ };
3234
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
3235
+ _loop();
3236
+ }
3237
+ } catch (err) {
3238
+ _iterator.e(err);
3239
+ } finally {
3240
+ _iterator.f();
3241
+ }
3242
+ var _iterator2 = _createForOfIteratorHelper(current.tables[_tableName].triggers),
3243
+ _step2;
3244
+ try {
3245
+ var _loop2 = function _loop2() {
3246
+ var trigger = _step2.value;
3247
+ if (!triggers.some(function (t) {
3248
+ return t.Name === trigger.Name;
3249
+ })) {
3250
+ logger('Extra trigger', trigger);
3251
+ differences.push({
3252
+ type: 'extra_trigger',
3253
+ tableName: _tableName,
3254
+ trigger: trigger
3255
+ });
3256
+ }
3257
+ };
3258
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
3259
+ _loop2();
3260
+ }
3261
+ } catch (err) {
3262
+ _iterator2.e(err);
3263
+ } finally {
3264
+ _iterator2.f();
3265
+ }
3201
3266
  var createTableSql = current.tables[_tableName].createSQL;
3202
3267
  if (createTableSql === contents.createSQL) {
3203
3268
  logger("Table ".concat(_tableName, " createSQL matches from json, skipping indexes, triggers, and fields"));
@@ -3231,11 +3296,11 @@ var findDifferences = function findDifferences(expected, current) {
3231
3296
 
3232
3297
  logger('Detecting extra fields for table', _tableName);
3233
3298
  // Detect extra fields
3234
- var _iterator = _createForOfIteratorHelper(current.tables[_tableName].columns),
3235
- _step;
3299
+ var _iterator3 = _createForOfIteratorHelper(current.tables[_tableName].columns),
3300
+ _step3;
3236
3301
  try {
3237
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
3238
- var field = _step.value;
3302
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
3303
+ var field = _step3.value;
3239
3304
  if (!expectedFieldNames.includes(field.Field)) {
3240
3305
  differences.push({
3241
3306
  type: 'extra_field',
@@ -3247,16 +3312,16 @@ var findDifferences = function findDifferences(expected, current) {
3247
3312
 
3248
3313
  // verify Type Null and Default
3249
3314
  } catch (err) {
3250
- _iterator.e(err);
3315
+ _iterator3.e(err);
3251
3316
  } finally {
3252
- _iterator.f();
3317
+ _iterator3.f();
3253
3318
  }
3254
3319
  logger('Verifying Type Null and Default for table', _tableName);
3255
- var _iterator2 = _createForOfIteratorHelper(columns),
3256
- _step2;
3320
+ var _iterator4 = _createForOfIteratorHelper(columns),
3321
+ _step4;
3257
3322
  try {
3258
- var _loop = function _loop() {
3259
- var field = _step2.value;
3323
+ var _loop3 = function _loop3() {
3324
+ var field = _step4.value;
3260
3325
  var currentField = current.tables[_tableName].columns.find(function (f) {
3261
3326
  return f.Field === field.Field;
3262
3327
  });
@@ -3288,7 +3353,7 @@ var findDifferences = function findDifferences(expected, current) {
3288
3353
  });
3289
3354
  }
3290
3355
  if (field.Type !== currentField.Type) {
3291
- if (field.Type == 'int' && currentField.Type == 'int(11)') return 0; // continue
3356
+ if (field.Type == 'int' && currentField.Type.startsWith('int(')) return 0; // continue
3292
3357
  // int(11) is the default for int and used on older versions of mysql
3293
3358
  if (field.Type == 'smallint' && currentField.Type.startsWith('smallint(')) return 0; // continue
3294
3359
  // smallint(6) is the default for smallint and used on older versions of mysql
@@ -3308,23 +3373,23 @@ var findDifferences = function findDifferences(expected, current) {
3308
3373
  }
3309
3374
  },
3310
3375
  _ret;
3311
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
3312
- _ret = _loop();
3376
+ for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
3377
+ _ret = _loop3();
3313
3378
  if (_ret === 0) continue;
3314
3379
  }
3315
3380
 
3316
3381
  // verify indexes
3317
3382
  } catch (err) {
3318
- _iterator2.e(err);
3383
+ _iterator4.e(err);
3319
3384
  } finally {
3320
- _iterator2.f();
3385
+ _iterator4.f();
3321
3386
  }
3322
3387
  logger('Verifying indexes for table', _tableName);
3323
- var _iterator3 = _createForOfIteratorHelper(indexes),
3324
- _step3;
3388
+ var _iterator5 = _createForOfIteratorHelper(indexes),
3389
+ _step5;
3325
3390
  try {
3326
- var _loop2 = function _loop2() {
3327
- var index = _step3.value;
3391
+ var _loop4 = function _loop4() {
3392
+ var index = _step5.value;
3328
3393
  // Check if the current index matches the expected index structure
3329
3394
  var currentIndex = current.tables[_tableName].indexes.find(function (i) {
3330
3395
  return i.ColumnName.sort().join(', ') === index.ColumnName.sort().join(', ');
@@ -3360,19 +3425,19 @@ var findDifferences = function findDifferences(expected, current) {
3360
3425
  }
3361
3426
  }
3362
3427
  };
3363
- for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
3364
- _loop2();
3428
+ for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
3429
+ _loop4();
3365
3430
  }
3366
3431
  } catch (err) {
3367
- _iterator3.e(err);
3432
+ _iterator5.e(err);
3368
3433
  } finally {
3369
- _iterator3.f();
3434
+ _iterator5.f();
3370
3435
  }
3371
- var _iterator4 = _createForOfIteratorHelper(current.tables[_tableName].indexes),
3372
- _step4;
3436
+ var _iterator6 = _createForOfIteratorHelper(current.tables[_tableName].indexes),
3437
+ _step6;
3373
3438
  try {
3374
- var _loop3 = function _loop3() {
3375
- var index = _step4.value;
3439
+ var _loop5 = function _loop5() {
3440
+ var index = _step6.value;
3376
3441
  logger('Checking index', index);
3377
3442
  var indexFound = false;
3378
3443
 
@@ -3389,71 +3454,6 @@ var findDifferences = function findDifferences(expected, current) {
3389
3454
  });
3390
3455
  }
3391
3456
  };
3392
- for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
3393
- _loop3();
3394
- }
3395
-
3396
- //verify triggers
3397
- } catch (err) {
3398
- _iterator4.e(err);
3399
- } finally {
3400
- _iterator4.f();
3401
- }
3402
- logger('Verifying triggers for table', _tableName);
3403
- var _iterator5 = _createForOfIteratorHelper(triggers),
3404
- _step5;
3405
- try {
3406
- var _loop4 = function _loop4() {
3407
- var trigger = _step5.value;
3408
- var currentTrigger = current.tables[_tableName].triggers.find(function (t) {
3409
- return t.Name === trigger.Name;
3410
- });
3411
- if (!currentTrigger) {
3412
- logger('Missing trigger', trigger);
3413
- differences.push({
3414
- type: 'missing_trigger',
3415
- tableName: _tableName,
3416
- trigger: trigger
3417
- });
3418
- } else {
3419
- // Compare additional properties if needed
3420
- if (currentTrigger.Event !== trigger.Event || currentTrigger.Statement !== trigger.Statement) {
3421
- logger('Mismatched trigger', {
3422
- expected: trigger,
3423
- current: currentTrigger
3424
- });
3425
- differences.push({
3426
- type: 'mismatched_trigger',
3427
- tableName: _tableName,
3428
- trigger: trigger
3429
- });
3430
- }
3431
- }
3432
- };
3433
- for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
3434
- _loop4();
3435
- }
3436
- } catch (err) {
3437
- _iterator5.e(err);
3438
- } finally {
3439
- _iterator5.f();
3440
- }
3441
- var _iterator6 = _createForOfIteratorHelper(current.tables[_tableName].triggers),
3442
- _step6;
3443
- try {
3444
- var _loop5 = function _loop5() {
3445
- var trigger = _step6.value;
3446
- if (!triggers.some(function (t) {
3447
- return t.Name === trigger.Name;
3448
- })) {
3449
- logger('Extra trigger', trigger);
3450
- differences.push({
3451
- type: 'extra_trigger',
3452
- tableName: _tableName,
3453
- trigger: trigger
3454
- });
3455
- }
3456
- };
3457
3457
  for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
3458
3458
  _loop5();
3459
3459
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mysqlsyncr",
3
- "version": "1.0.78",
3
+ "version": "1.0.82",
4
4
  "description": "",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.esm.js",
@@ -22,6 +22,28 @@ export const findDifferences = (expected, current) => {
22
22
  continue;
23
23
  }
24
24
 
25
+ //verify triggers
26
+ logger('Verifying triggers for table', tableName);
27
+ for (const trigger of triggers) {
28
+ const currentTrigger = current.tables[tableName].triggers.find(t => t.Name === trigger.Name);
29
+ if (!currentTrigger) {
30
+ logger('Missing trigger', trigger);
31
+ differences.push({ type: 'missing_trigger', tableName, trigger });
32
+ } else {
33
+ // Compare additional properties if needed
34
+ if (currentTrigger.Event !== trigger.Event || currentTrigger.Statement !== trigger.Statement) {
35
+ logger('Mismatched trigger', { expected: trigger, current: currentTrigger });
36
+ differences.push({ type: 'mismatched_trigger', tableName, trigger });
37
+ }
38
+ }
39
+ }
40
+ for (const trigger of current.tables[tableName].triggers) {
41
+ if (!triggers.some(t => t.Name === trigger.Name)) {
42
+ logger('Extra trigger', trigger);
43
+ differences.push({ type: 'extra_trigger', tableName, trigger });
44
+ }
45
+ }
46
+
25
47
  const createTableSql = current.tables[tableName].createSQL;
26
48
  if (createTableSql === contents.createSQL) {
27
49
  logger(`Table ${tableName} createSQL matches from json, skipping indexes, triggers, and fields`);
@@ -70,11 +92,11 @@ export const findDifferences = (expected, current) => {
70
92
  differences.push({ type: 'mismatched_field', info: "Default", tableName, field, currentField });
71
93
  }
72
94
  if (field.Type !== currentField.Type) {
73
- if(field.Type == 'int' && currentField.Type == 'int(11)') continue; // int(11) is the default for int and used on older versions of mysql
74
- if(field.Type == 'smallint' && currentField.Type.startsWith('smallint(')) continue; // smallint(6) is the default for smallint and used on older versions of mysql
75
- if(field.Type == 'tinyint' && currentField.Type.startsWith('tinyint(')) continue; // tinyint(1) is the default for tinyint and used on older versions of mysql
76
- if(field.Type == 'varchar' && currentField.Type.startsWith('varchar(')) continue; // varchar(255) is the default for varchar and used on older versions of mysql
77
- if(field.Type == 'bigint' && currentField.Type.startsWith('bigint(')) continue; // bigint(20) is the default for bigint and used on older versions of mysql
95
+ if (field.Type == 'int' && currentField.Type.startsWith('int(')) continue; // int(11) is the default for int and used on older versions of mysql
96
+ if (field.Type == 'smallint' && currentField.Type.startsWith('smallint(')) continue; // smallint(6) is the default for smallint and used on older versions of mysql
97
+ if (field.Type == 'tinyint' && currentField.Type.startsWith('tinyint(')) continue; // tinyint(1) is the default for tinyint and used on older versions of mysql
98
+ if (field.Type == 'varchar' && currentField.Type.startsWith('varchar(')) continue; // varchar(255) is the default for varchar and used on older versions of mysql
99
+ if (field.Type == 'bigint' && currentField.Type.startsWith('bigint(')) continue; // bigint(20) is the default for bigint and used on older versions of mysql
78
100
  differences.push({ type: 'mismatched_field', info: "Type", tableName, field, currentField });
79
101
  }
80
102
  }
@@ -112,27 +134,7 @@ export const findDifferences = (expected, current) => {
112
134
  }
113
135
  }
114
136
 
115
- //verify triggers
116
- logger('Verifying triggers for table', tableName);
117
- for (const trigger of triggers) {
118
- const currentTrigger = current.tables[tableName].triggers.find(t => t.Name === trigger.Name);
119
- if (!currentTrigger) {
120
- logger('Missing trigger', trigger);
121
- differences.push({ type: 'missing_trigger', tableName, trigger });
122
- } else {
123
- // Compare additional properties if needed
124
- if (currentTrigger.Event !== trigger.Event || currentTrigger.Statement !== trigger.Statement) {
125
- logger('Mismatched trigger', { expected: trigger, current: currentTrigger });
126
- differences.push({ type: 'mismatched_trigger', tableName, trigger });
127
- }
128
- }
129
- }
130
- for (const trigger of current.tables[tableName].triggers) {
131
- if (!triggers.some(t => t.Name === trigger.Name)) {
132
- logger('Extra trigger', trigger);
133
- differences.push({ type: 'extra_trigger', tableName, trigger });
134
- }
135
- }
137
+
136
138
  }
137
139
 
138
140