Files
descrybe/docs/migration-reports/migration-report-20260804T212817Z.json
greeneclipse 8580c996c3 Initial commit of Descrybe v2 without local scratch artifacts.
Drop one-shot tmp/axe scripts and agent i18n scratch so the Gitea tree is deployable.
2026-08-09 22:47:43 +02:00

188 lines
4.4 KiB
JSON

{
"generated_at": "2026-08-04T21:28:02Z",
"mode": "dry-run",
"domains": "all",
"resume": false,
"counts": {
"admin_users": 1,
"attributes": 198319,
"categories": 8465,
"category_attributes": 177404,
"companies": 31,
"company_plans": 3,
"company_plans_skipped": 2,
"company_settings": 7,
"credit_balances": 7,
"credit_balances_skipped": 1,
"custom_variables": 54,
"export_feeds": 11,
"feed_mappings": 26,
"feed_tags": 1,
"field_groups": 26,
"files": 1,
"input_feeds": 33,
"memberships": 20,
"plans": 5,
"processed_products": 7953,
"raw_products": 131641,
"raw_products_gtin_deduped": 27429,
"set_password_hooks_skipped_dry_run": 1,
"standard_fields": 176,
"structured_description_fields": 40,
"usage_metrics": 6,
"users": 27,
"woocommerce_configs": 0
},
"validation": {
"mode": "dry-run",
"counts": [
{
"entity": "companies",
"mysql": 31,
"postgres": -1,
"delta": 0
},
{
"entity": "profiles",
"mysql": 27,
"postgres": -1,
"delta": 0,
"note": "profiles → memberships"
},
{
"entity": "users",
"mysql": -1,
"postgres": -1,
"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": -1,
"delta": 0
},
{
"entity": "company_plans",
"mysql": 5,
"postgres": -1,
"delta": 0
},
{
"entity": "credit_balances",
"mysql": 8,
"postgres": -1,
"delta": 0
},
{
"entity": "categories",
"mysql": 8465,
"postgres": -1,
"delta": 0
},
{
"entity": "attributes",
"mysql": 198319,
"postgres": -1,
"delta": 0
},
{
"entity": "category_attributes",
"mysql": 177404,
"postgres": -1,
"delta": 0
},
{
"entity": "custom_variables",
"mysql": 54,
"postgres": -1,
"delta": 0,
"note": "label/example → value"
},
{
"entity": "xml_feeds",
"mysql": 33,
"postgres": -1,
"delta": 0,
"note": "xml_feeds → input_feeds"
},
{
"entity": "raw_products",
"mysql": 159070,
"postgres": -1,
"delta": 0
},
{
"entity": "processed_products",
"mysql": 7953,
"postgres": -1,
"delta": 0
},
{
"entity": "export_feeds",
"mysql": 11,
"postgres": -1,
"delta": 0
},
{
"entity": "files",
"mysql": 1,
"postgres": -1,
"delta": 0,
"note": "metadata only; blobs not copied"
},
{
"entity": "company_settings",
"mysql": 7,
"postgres": -1,
"delta": 0,
"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": "ephemeral history not migrated"
}
],
"orphans": [
{
"check": "skipped_dry_run",
"count": 0,
"sample": "orphan FK checks require a live Postgres load",
"pass": true
}
],
"orphan_summary": {
"passed": 1,
"failed": 0,
"total": 1
},
"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 (processing_jobs / queues) is ephemeral and not migrated.",
"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": 15654
}