Clarify partial data transfer behavior and restructure the transfer page - #3385
Open
pwizla wants to merge 13 commits into
Open
Clarify partial data transfer behavior and restructure the transfer page#3385pwizla wants to merge 13 commits into
pwizla wants to merge 13 commits into
Conversation
Add documentation explaining how --only and --exclude filters work with data transfer stages (content, files, config). Clarifies that omitted stages preserve destination data and documents the content-replace-keep-config workflow with a stage transfer matrix. Related to strapi/strapi#27322
The matrix contradicted the upstream engine matrix in strapi/strapi#27322 on --exclude files, omitted the --exclude media-library row, and claimed nothing is preserved by default. Media library records travel with content, so excluding files leaves records pointing at untransferred binaries. Also corrects the two quoted CLI prompts to match command.ts and scopes the --force caution to the stages actually transferred.
The warning claimed excluded types are deleted in the target instance, the opposite of the transfer page. Verified that import and transfer share the same parseRestoreFromOptions call, so the semantics are identical: omitted stages are preserved.
Adds the --throttle, --no-checksums and --verbose rows that were missing from the strapi transfer table, and harmonizes the --exclude-content-types wording across the export, import and transfer tables.
Four entries derived from the review of this PR, each verified against parseRestoreFromOptions, TransferGroupPresets and expandMediaLibraryPreset: the files preset covers binaries only while media library records ride the content stage, the default command always preserves admin and ignored types, omitted stages are preserved rather than deleted across import and transfer, and the quoted CLI confirmation prompts must be checked against command.ts.
The walkthrough was 121 of the transfer page's 498 lines and teaches create-strapi-app and git rather than the transfer command, which the page itself says is not meant for two local instances. It also duplicated the Generate a transfer token section. Linked from the transfer page with a doc card and wired into the pagination chain.
Reorders the sections so the preserve-versus-replace semantics come before the --only and --exclude syntax they govern, removing a forward reference. Merges the two near-duplicate option sections and adds the media-library value their prose omitted. Reduces the stage-filtering section to a single table with the media caveat promoted above it. Moves the nginx and localhost notes into a Troubleshooting section, and adds a section for --throttle, --no-checksums and --verbose, which existed only as table rows.
The noTooltip rule lumped headings together with tables, which led agents to suppress the tooltip under a heading where it belongs. Adds a placement section distinguishing the two cases: own line under a heading with the tooltip kept, versus same line as the content with noTooltip and the version stated in prose.
|
|
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
An inline badge parked at the start of the line reads as a heading badge. Show it inside the sentence instead, which also carries the version in the prose now that noTooltip removes the tooltip.
"On its own line" could be read as one badge per line, which the chained plan and version example already contradicted. States that the line under a heading is a shared slot: all badges go on it, space-separated, never stacked.
Trimming the intro tip dropped the list of role-based token permissions (view, create, read, regenerate, delete). The Generate a transfer token section never covered them, so the information was lost rather than deduplicated. Moved it there, where a reader asking who can manage tokens will look.
The content-type transfer filters were documented as available since 5.50.3, but no such release exists: the 5.50.x line stops at 5.50.2. The filters shipped in 5.51.0 (strapi/strapi#26915), and the Knex connection-function types landed in the same release (#26949), so database.md carried the same wrong version.
STRAPI_DISABLE_REMOTE_DATA_TRANSFER no longer works in Strapi 5: the admin service logs "no longer supported" and reads server.transfer.remote.enabled instead. The page was teaching a method that has no effect. Also drops --throttle from the tuning section, since upstream marks it hideHelp() as deliberately undocumented, scopes assetIdleTimeoutMs to pulls with its real default, restores pagination to draft-and-publish, and applies the review's smaller fixes.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR documents the partial data-transfer behavior clarified in strapi/strapi#27322 (stages omitted via
--onlyor--excludepreserve destination data, transferred stages are replaced), fixes the factual errors found while reviewing that content, and restructures the transfer page around it. Supersedes #3376.--exclude media-libraryrow--exclude filesonly skips the assets stage, so media library records still transfer with content and can point at binaries that were never transferredcommand.ts, and scopes the--forcecaution to the stages actually transferred--onlyand--excludesyntax they govern, merges the two near-duplicate option sections, and adds themedia-libraryvalue their prose omitted--throttle,--no-checksumsand--verbose, which existed only as option-table rows, and syncs the transfer option table in the CLI referenceBlocked until Strapi 5.52.2 ships, since strapi/strapi#27322 is milestoned for that release.
Documents #27322
Direct preview link 👉 here