Files

268 lines
6.1 KiB
JSON
Raw Permalink Normal View History

{
"generated_at": "2026-08-04T22:49:33Z",
"mode": "live",
"domains": "jobs",
"company_filter": [
"97e1a309-3d23-4aa2-b518-8e8d7afdfec7"
],
"resume": true,
"counts": {
"companies": 1,
"memberships": 5,
"processing_job_products": 332,
"processing_job_products_skipped": 30,
"processing_jobs": 331,
"processing_jobs_user_missing": 51,
"tasks": 2,
"users": 27
},
"validation": {
"mode": "live",
"counts": [
{
"entity": "companies",
"mysql": 31,
"postgres": 1,
"delta": -30
},
{
"entity": "profiles",
"mysql": 27,
"postgres": 7,
"delta": -20,
"note": "profiles → memberships"
},
{
"entity": "users",
"mysql": -1,
"postgres": 7,
"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": 9,
"delta": 4
},
{
"entity": "company_plans",
"mysql": 5,
"postgres": 2,
"delta": -3
},
{
"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": 159070,
"postgres": 29115,
"delta": -129955
},
{
"entity": "processed_products",
"mysql": 7953,
"postgres": 4378,
"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": 1023,
"postgres": -1,
"delta": 0,
"note": "migrated when domain jobs enabled (ai_provider_mode=migrated) pg_error"
}
],
"postgres_counts": {
"attributes": 303,
"categories": 119,
"category_attributes": 307,
"companies": 1,
"company_plans": 2,
"credit_balances": 1,
"custom_variables": 3,
"export_feeds": 2,
"feed_mappings": 16,
"files": 0,
"input_feeds": 12,
"memberships": 7,
"plans": 9,
"processed_products": 4378,
"raw_products": 29115,
"users": 7
},
"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": 5436
}