feat: implementation of unified ORM schema synchronization system via Schema AST #81
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
This PR implements a comprehensive, graph-based schema synchronization system for UQL. By introducing Schema AST as the core foundation, we now have a unified, dialect-agnostic representation of database schemas where relationships and indexes are first-class citizens. This architecture enables reliable schema diffing, smart relation detection, and powerful synchronization workflows.
Key Features
DriftDetector: Identify and report discrepancies between entities and production storage.EntityMerger: Safely update existing entity files with new database changes using the TypeScript compiler API.Documentation & CLI
Updated CLI with new powerful commands:
generate:from-db: Create entities from an existing database.sync:entities: Keep entities in sync with database changes.drift:check: Verify if the database schema matches your entity definitions.Quality & Refactoring
as anytype assertions across migration and schema modules.biome checkandtsc --noEmitvalidation.Closes #80