250 lines
5.5 KiB
JSON
250 lines
5.5 KiB
JSON
{
|
|||
|
|
"generated_at": "2026-08-04T00:38:05Z",
|
||
|
|
"mode": "live",
|
||
|
|
"domains": "settings,formulas,tags,woo,usage",
|
||
|
|
"resume": true,
|
||
|
|
"counts": {
|
||
|
|
"companies": 27,
|
||
|
|
"company_settings_skipped": 5,
|
||
|
|
"demo_memberships": 30,
|
||
|
|
"demo_user": 1,
|
||
|
|
"feed_tags_skipped": 1,
|
||
|
|
"field_groups_skipped": 23,
|
||
|
|
"memberships": 15,
|
||
|
|
"standard_fields_skipped": 145,
|
||
|
|
"structured_description_fields_skipped": 28,
|
||
|
|
"usage_metrics": 5,
|
||
|
|
"users": 21,
|
||
|
|
"woocommerce_configs": 0
|
||
|
|
},
|
||
|
|
"validation": {
|
||
|
|
"mode": "live",
|
||
|
|
"counts": [
|
||
|
|
{
|
||
|
|
"entity": "companies",
|
||
|
|
"mysql": 27,
|
||
|
|
"postgres": 30,
|
||
|
|
"delta": 3
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"entity": "profiles",
|
||
|
|
"mysql": 21,
|
||
|
|
"postgres": 77,
|
||
|
|
"delta": 56,
|
||
|
|
"note": "profiles → memberships"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"entity": "users",
|
||
|
|
"mysql": -1,
|
||
|
|
"postgres": 25,
|
||
|
|
"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": 10,
|
||
|
|
"delta": 5
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"entity": "credit_balances",
|
||
|
|
"mysql": 6,
|
||
|
|
"postgres": 8,
|
||
|
|
"delta": 2
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"entity": "categories",
|
||
|
|
"mysql": 8278,
|
||
|
|
"postgres": 8280,
|
||
|
|
"delta": 2
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"entity": "attributes",
|
||
|
|
"mysql": 95292,
|
||
|
|
"postgres": 57630,
|
||
|
|
"delta": -37662
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"entity": "category_attributes",
|
||
|
|
"mysql": 74377,
|
||
|
|
"postgres": 74377,
|
||
|
|
"delta": 0
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"entity": "custom_variables",
|
||
|
|
"mysql": 36,
|
||
|
|
"postgres": 37,
|
||
|
|
"delta": 1,
|
||
|
|
"note": "label/example → value"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"entity": "xml_feeds",
|
||
|
|
"mysql": 31,
|
||
|
|
"postgres": 34,
|
||
|
|
"delta": 3,
|
||
|
|
"note": "xml_feeds → input_feeds"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"entity": "raw_products",
|
||
|
|
"mysql": 126516,
|
||
|
|
"postgres": 124426,
|
||
|
|
"delta": -2090
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"entity": "processed_products",
|
||
|
|
"mysql": 7219,
|
||
|
|
"postgres": 7221,
|
||
|
|
"delta": 2
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"entity": "export_feeds",
|
||
|
|
"mysql": 8,
|
||
|
|
"postgres": 9,
|
||
|
|
"delta": 1
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"entity": "files",
|
||
|
|
"mysql": 1,
|
||
|
|
"postgres": 3,
|
||
|
|
"delta": 2,
|
||
|
|
"note": "metadata only; blobs not copied"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"postgres_counts": {
|
||
|
|
"attributes": 57630,
|
||
|
|
"categories": 8280,
|
||
|
|
"category_attributes": 74377,
|
||
|
|
"companies": 30,
|
||
|
|
"company_plans": 10,
|
||
|
|
"credit_balances": 8,
|
||
|
|
"custom_variables": 37,
|
||
|
|
"export_feeds": 9,
|
||
|
|
"feed_mappings": 25,
|
||
|
|
"files": 3,
|
||
|
|
"input_feeds": 34,
|
||
|
|
"memberships": 77,
|
||
|
|
"plans": 9,
|
||
|
|
"processed_products": 7221,
|
||
|
|
"raw_products": 124426,
|
||
|
|
"users": 25
|
||
|
|
},
|
||
|
|
"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": "platform_admins",
|
||
|
|
"count": 3,
|
||
|
|
"pass": true
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"orphan_summary": {
|
||
|
|
"passed": 16,
|
||
|
|
"failed": 0,
|
||
|
|
"total": 16
|
||
|
|
},
|
||
|
|
"ok": true
|
||
|
|
},
|
||
|
|
"demo": {
|
||
|
|
"email": "demo@descrybe.local",
|
||
|
|
"password_set": true,
|
||
|
|
"user_id": "276d5d0e-665a-40e4-ac78-1cf27e807b10",
|
||
|
|
"primary_company": "ee246275-dec0-4446-9e83-58d0c16c258a",
|
||
|
|
"primary_company_name": "Local Demo Co",
|
||
|
|
"memberships_admin": 30,
|
||
|
|
"platform_admin": true,
|
||
|
|
"note": "Password documented in docs/portable-mysql-pg-migration.md (not written to report JSON)."
|
||
|
|
},
|
||
|
|
"notes": [
|
||
|
|
"Clerk is excluded: users mapped by email only; no Clerk API.",
|
||
|
|
"Legacy password hashes are never imported.",
|
||
|
|
"API key secrets are not migrated; use seed-demo / ensure-demo for local keys.",
|
||
|
|
"File blobs are metadata-only; resync object storage separately."
|
||
|
|
],
|
||
|
|
"elapsed_ms": 2235
|
||
|
|
}
|