le-app/docs/payload-migration/metadata-disposition.md

3.1 KiB

Directus metadata disposition

This inventory is structural and contains no example user records or user-provided content.

Directus area Disposition Reason
directus_users Translate into Payload users Preserve user IDs, supported profile fields, status, role mapping, timestamps, and password hashes pending compatibility findings
directus_files, directus_folders Translate into media and folder metadata Required to retain referenced files, hierarchy, checksums, timestamps, and ownership
directus_collections, directus_fields, directus_relations Design input; do not import as runtime records Re-expressed as committed Payload TypeScript collection definitions and migrations
directus_roles, directus_policies, directus_access, directus_permissions Design input and verification fixtures Re-expressed as Payload access functions and role fields; Directus policy rows have no runtime meaning in Payload
directus_flows, directus_operations Translate behavior into hooks/jobs/endpoints Flow graphs are implementation evidence, not portable executable definitions
directus_settings Selective manual mapping Only settings with a Payload or application equivalent are relevant
directus_presets Archive-only pending editor review UI bookmarks, filters, layouts, and per-user preferences are Directus Studio-specific
directus_dashboards, directus_panels Archive-only Directus Insights configuration is not portable and both source tables are empty
directus_comments, directus_notifications Exclude from runtime Empty in the scrubbed source; Directus collaboration internals
directus_activity, directus_revisions Exclude from working migration Intentionally scrubbed volatile audit history; untouched root-only archive remains authoritative
directus_sessions Exclude Intentionally scrubbed and cryptographically incompatible; all users receive new sessions
Static tokens and user token values Exclude Revoked credential material must never be migrated
TFA secrets, auth_data Exclude Intentionally scrubbed authentication secrets; users re-enroll if required
OAuth clients, codes, consents, tokens Exclude Empty/scrubbed live authorization material; providers must be configured afresh
directus_shares Exclude Scrubbed bearer-like public access grants must not survive cutover
directus_migrations Exclude Records Directus's schema history, not Payload's migration history
directus_extensions Inspect source extension directory; do not import rows Extension behavior must be reimplemented and reviewed; the metadata table is empty
deployment project/run tables Archive-only Directus deployment subsystem state has no Payload runtime equivalent
directus_versions Exclude from initial runtime Empty; Payload versioning will begin under its own schema if enabled
translations Archive-only pending localization decision Empty in source; no initial runtime effect

No exclusion authorizes deletion of source data, frozen files, manifests, or the root-only archive.