Class BowireGitWorkspaceMigrator
- Namespace
- Kuestenlogik.Bowire.Workspace.Git
- Assembly
- Kuestenlogik.Bowire.Workspace.Git.dll
One-shot migration from the legacy per-user bundle layout — one
<entityKind>.json file per kind, each carrying an array of
entities — to the per-entity file layout the git-backed runtime
reads through (#196 Phase 2.2).
Used by the bowire workspace migrate-format CLI subcommand
and exposed publicly so embedded hosts can run the migration from
their own admin tooling. The migrator never deletes the legacy
bundle outright — it renames each migrated file to
<entityKind>.json.legacy so an operator can verify the
per-entity files look right before binning the original.
public static class BowireGitWorkspaceMigrator
- Inheritance
-
BowireGitWorkspaceMigrator
- Inherited Members
Methods
MigrateAsync(string, CancellationToken)
Migrate the legacy bundle layout under workspaceRoot
to the per-entity file layout. Idempotent — re-running on an
already-migrated workspace is a no-op.
public static Task<BowireGitWorkspaceMigrationReport> MigrateAsync(string workspaceRoot, CancellationToken ct = default)
Parameters
workspaceRootstringAbsolute path to a workspace directory. The same directory both the legacy
<entityKind>.jsonbundles live under AND where the new per-entity layout will land.ctCancellationTokenCancellation token.
Returns
- Task<BowireGitWorkspaceMigrationReport>
A per-kind report the caller renders to stdout. Order matches Kuestenlogik.Bowire.Workspace.Git.BowireGitWorkspaceMigrator.MigratableKinds.