6 个仓库
Algorithmic calculation of the minimal set of changes required to transform one database schema state into another.
Distinct from State Diffing: None of the candidates address SQL schema state transitions; they focus on UI state or terminal buffers.
Explore 6 awesome GitHub repositories matching data & databases · Schema State Diffing. Refine with filters or upvote what's useful.
Atlas is a SQL database schema management tool and database infrastructure as code framework. It provides a declarative database migration engine that computes the difference between a desired schema state and the current database state to automatically generate the necessary SQL for transitions. The project distinguishes itself through a comprehensive suite of analysis and visualization tools, including a database schema linter that detects destructive changes and data loss risks. It also features a SQL schema visualization tool capable of generating entity-relationship diagrams from extract
Computes the difference between a desired schema state and the current database state to generate migration plans.
jOOQ is a type-safe SQL query builder for Java that generates code from live database schemas, enabling compile-time validation of SQL syntax and data types. Its core identity is built around a fluent DSL that mirrors SQL structure, a code generator that maps tables, views, and routines to Java objects, and a multi-dialect engine that translates the same DSL into vendor-specific SQL for over 30 databases. The project also includes a SQL parser and transformer for refactoring or dialect conversion, reactive stream integration for non-blocking query execution, and a JDBC proxy diagnostics tool f
Compares two database schema versions and generates the DDL statements needed to migrate between them.
tbls 是一个基于 Go 的命令行工具,用于记录、分析和检查关系数据库模式。它是一个文档生成工具,可以生成 Markdown、JSON 或 Excel 格式的结构化报告和实体关系图,同时也是一个模式差异对比工具,用于识别实时数据库与文档之间的差异。 该项目允许通过外部配置文件进行模式增强和定义虚拟关系,从而在无需数据库迁移或原生约束的情况下实现元数据覆盖和表连接。它还支持将表组织成基于域的视图,以创建对整体模式的精选视角。 其他功能包括通过 SQL linter 根据预定义规则验证数据库结构,以及测量文档覆盖率以确定已描述表和列的百分比。该系统利用基于 JSON 的驱动程序接口集成外部可执行文件以支持各种数据库类型,并使用可自定义的模板进行文档生成。
Compares the live database state against stored documentation to identify structural discrepancies.
Alembic 是一个用于 SQLAlchemy 的数据库模式版本控制系统和迁移工具。它通过版本化脚本管理数据库结构的增量更新,支持升级和降级,从而保持数据库与代码同步。 该系统利用有向无环图(DAG)进行迁移管理,支持非线性版本控制,包括跨多个根版本的分支和合并。它内置了自动模式差异对比工具,可将实时数据库模式与元数据对象进行比较,从而以编程方式生成迁移指令。 该工具提供事务性模式演进功能,确保更新的原子性并防止数据库部分损坏。其他功能包括将迁移指令转换为原始 SQL 字符串以进行审计,以及通过专用数据库表维护基于脚本的版本跟踪。
Provides algorithmic calculation of changes needed to transform a live database schema to match a model definition.
apollo-ios is a GraphQL client library for iOS and Apple platforms that enables type-safe network communication. It transforms GraphQL operations into generated Swift models, ensuring that network responses are validated at compile time to eliminate manual mapping. The library features a normalized cache manager that stores entities in a flat structure to maintain data consistency across different application views. It also optimizes network performance using hash-based persisted queries to reduce payload sizes and supports real-time data streaming via WebSockets or HTTP subscriptions. The p
Calculates changes between schema versions using a format-aware diffing engine.
cr-sqlite is a multi-master database replication system that uses conflict-free replicated data types to ensure eventual consistency across distributed nodes. It provides the core capabilities for offline-first data synchronization, allowing multiple database instances to merge concurrent updates and reach a consistent state. The project distinguishes itself through a combination of CRDT-based data replication and a WASM-based database engine, enabling full SQL execution and state persistence within web browsers. It supports peer-to-peer replication and cross-tab synchronization, utilizing ca
Automates database structure updates by calculating the minimal set of changes required to transform schemas.