{ "generated_at": "2026-08-08T07:51:34Z", "mode": "live", "domains": "jobs", "company_filter": [ "97e1a309-3d23-4aa2-b518-8e8d7afdfec7" ], "resume": true, "counts": { "companies": 1, "memberships": 3, "processing_job_products": 177, "processing_job_products_skipped": 20, "processing_jobs": 179, "tasks": 2, "users": 27 }, "validation": { "mode": "live", "counts": [ { "entity": "companies", "mysql": 31, "postgres": 1, "delta": -30 }, { "entity": "profiles", "mysql": 27, "postgres": 4, "delta": -23, "note": "profiles → memberships" }, { "entity": "users", "mysql": -1, "postgres": 28, "delta": 0, "note": "no password_hash imported mysql_missing" }, { "entity": "admin_users", "mysql": 1, "postgres": -1, "delta": 0, "note": "folded into users.is_platform_admin" }, { "entity": "plans", "mysql": 5, "postgres": 5, "delta": 0 }, { "entity": "company_plans", "mysql": 5, "postgres": 1, "delta": -4 }, { "entity": "credit_balances", "mysql": 8, "postgres": 1, "delta": -7 }, { "entity": "categories", "mysql": 8465, "postgres": 119, "delta": -8346 }, { "entity": "attributes", "mysql": 198319, "postgres": 303, "delta": -198016 }, { "entity": "category_attributes", "mysql": 177404, "postgres": 307, "delta": -177097 }, { "entity": "custom_variables", "mysql": 54, "postgres": 3, "delta": -51, "note": "label/example → value" }, { "entity": "xml_feeds", "mysql": 33, "postgres": 12, "delta": -21, "note": "xml_feeds → input_feeds" }, { "entity": "raw_products", "mysql": 134006, "postgres": 23748, "delta": -110258 }, { "entity": "processed_products", "mysql": 7905, "postgres": 4330, "delta": -3575 }, { "entity": "export_feeds", "mysql": 11, "postgres": 2, "delta": -9 }, { "entity": "files", "mysql": 1, "postgres": 0, "delta": -1, "note": "metadata only; blobs not copied" }, { "entity": "company_settings", "mysql": 7, "postgres": 1, "delta": -6, "note": "partial: language + merge_products only" }, { "entity": "api_keys", "mysql": 4, "postgres": -1, "delta": 0, "note": "not migrated; clients must mint new keys" }, { "entity": "processing_jobs", "mysql": 863, "postgres": 179, "delta": -684, "note": "migrated when domain jobs enabled (ai_provider_mode=migrated)" } ], "postgres_counts": { "attributes": 303, "categories": 119, "category_attributes": 307, "companies": 1, "company_plans": 1, "credit_balances": 1, "custom_variables": 3, "export_feeds": 2, "feed_mappings": 11, "files": 0, "input_feeds": 12, "memberships": 4, "plans": 5, "processed_products": 4330, "raw_products": 23748, "users": 28 }, "orphans": [ { "check": "memberships_missing_user", "count": 0, "pass": true }, { "check": "memberships_missing_company", "count": 0, "pass": true }, { "check": "categories_missing_company", "count": 0, "pass": true }, { "check": "attributes_missing_company", "count": 0, "pass": true }, { "check": "custom_variables_missing_company", "count": 0, "pass": true }, { "check": "raw_products_missing_company", "count": 0, "pass": true }, { "check": "raw_products_missing_feed", "count": 0, "pass": true }, { "check": "processed_missing_company", "count": 0, "pass": true }, { "check": "processed_missing_raw", "count": 0, "pass": true }, { "check": "processed_missing_feed", "count": 0, "pass": true }, { "check": "export_feeds_missing_company", "count": 0, "pass": true }, { "check": "export_feeds_missing_source", "count": 0, "pass": true }, { "check": "feed_mappings_missing_feed", "count": 0, "pass": true }, { "check": "files_missing_company", "count": 0, "pass": true }, { "check": "company_plans_missing_plan", "count": 0, "pass": true }, { "check": "companies_without_active_plan", "count": 0, "pass": true }, { "check": "platform_admins", "count": 2, "pass": true } ], "orphan_summary": { "passed": 17, "failed": 0, "total": 17 }, "ok": true }, "notes": [ "Clerk is excluded: users mapped by email only; no Clerk API.", "Legacy password hashes are never imported.", "API key secrets are not migrated; clients must mint new keys (seed-demo / ensure-demo for local).", "File blobs are metadata-only; resync object storage separately.", "Job history: domain jobs migrates processing_jobs (+ best-effort job_products) and tasks; tagged ai_provider_mode=migrated so retention keeps them.", "company_settings: language + merge_products only (domain settings); other legacy settings fields are not imported.", "woocommerce_configs: migrated from wc_* custom_fields when domain woo is enabled." ], "elapsed_ms": 3043 }