Add dev-prod harmonize tool for bidirectional catalog and image sync.

Schema migrates dev to prod only; catalog rows merge by updated_at and images by mtime with union merge and conflict reporting.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Danila Khodjaef
2026-07-15 11:02:17 +03:00
co-authored by Cursor
parent 81ebad2120
commit f247b418d8
21 changed files with 1336 additions and 4 deletions
+8
View File
@@ -29,6 +29,8 @@
"dev:migrate:painting-annotations": "node scripts/migrate-painting-annotations.js",
"dev:migrate:artist-palette": "node scripts/migrate-artist-palette.js",
"dev:migrate:search": "node scripts/migrate-search.js",
"dev:migrate:sync-timestamps": "node scripts/migrate-sync-timestamps.js",
"dev:backfill-updated-at": "node scripts/backfill-updated-at.js",
"dev:import-painter-palette": "node scripts/import-painter-palette.js",
"dev:analyze-painter-palette": "node scripts/analyze-painter-palette.js",
"dev:export-paintings": "node scripts/export-paintings-csv.js",
@@ -48,6 +50,12 @@
"devtoprod:release": "powershell -NoProfile -ExecutionPolicy Bypass -File infra/scripts/deploy-dev-to-prod.ps1",
"prodto:dev:db": "node scripts/sync-prod-to-dev.js",
"prodto:dev:images": "powershell -NoProfile -ExecutionPolicy Bypass -File infra/scripts/sync-images-from-prod.ps1",
"harmonize:schema": "node scripts/harmonize-schema.js",
"harmonize:db": "node scripts/harmonize-db.js",
"harmonize:images": "node scripts/harmonize-images.js",
"harmonize:backfill-updated-at": "node scripts/backfill-updated-at.js --prod",
"harmonize:dry-run": "node scripts/harmonize-db.js --dry-run && node scripts/harmonize-images.js --dry-run",
"harmonize": "powershell -NoProfile -ExecutionPolicy Bypass -File infra/scripts/harmonize.ps1",
"infra:db:split-dev-prod": "node scripts/split-dev-prod-databases.js"
},
"keywords": [],