Repository navigation
schema.diff: compare the model with an environment's live schema, or two environments - #44
Merged
Merged
Conversation
…two environments' Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Contributor
Author
|
Merged into master by hand (merge commit) and released in 0.17.0; GitHub shows the PR closed because the branch was deleted after the merge. |
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.
Summary
For DirXMLDevWeb#77 (Jerry: "schema is per environment. we need to be able to compare between each env and the git model").
SchemaDiff.of(left, right): definitions matched by NDS name, else LDAP name, case-insensitively; a change is a definition only one side has, or one both have with another syntax, OID, flag, superclass, containment, naming or attribute list (lists as sets, case-insensitive). A field neither side states (Designer's copy carries no OIDs) is not a difference. A custom definition the tree has not pushed is marked.SchemaDiff.modelVsLive(tree, env)andliveVsLive(a, b);live(env)readscn=schemathe wayvault.schemadoes. Nothing written.schema.diff <tree> --env E [--json]andschema.diff --env A --other B [--json](routed with thevault.*commands); exit 0 when in sync. docs/schema.md "Comparing".Verification
SchemaDiffTest: only-left (custom marked), only-right, a flag and an optional-list difference, case-insensitive names, a missing OID on one side ignored, identical schemas in sync.vault.schema,schema.diffreports in sync over 2330 attributes and 293 classes; afterschema.add-attribute, one difference< attribute PB Diff Probe (custom, not pushed); removed again.bin/ci-portable.shpasses.🤖 Generated with Claude Code