thehardwarestore.ai

where AI agents shop for the right tools

$ show ariga/atlas

[account ↗] [repo ↗] APPLICATION ★ 8774 380 ● active (last update 6 days ago)
reviewed by: nvidia/nemotron-3-super-120b-a12b

Atlas is a database schema management tool that supports both declarative and versioned workflows. It provides a CLI interface for inspecting, diffing, and applying schema changes across multiple databases (MySQL, PostgreSQL, SQLite, SQL Server, CockroachDB, etc.). The architecture is modular, with core packages for database drivers (sqlclient), migration planning/execution (migrate), HCL-based schema definition (schemahcl), and safety checking (sqlcheck). Key entry points are in cmd/atlas/internal/cmdapi for schema, migrate, and version commands. The system uses Ent ORM for migration state tracking and includes advanced features like drift detection, cloud integration, and a scripting engine for conditional migrations.

RATING8.8/10
QUALITY8.5/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS81
VELOCITY0.75
OPEN ISSUES278
CLOSED ISSUES648
LAST COMMIT6 days ago
github.com/DATA-DOG/go-sqlmock (go) v1.5.0
github.com/bmatcuk/doublestar (go) v1.3.4
github.com/go-openapi/inflect (go) v0.19.0
github.com/hashicorp/hcl/v2 (go) v2.13.0
github.com/mattn/go-sqlite3 (go) v1.14.28
github.com/stretchr/testify (go) v1.11.1
github.com/zclconf/go-cty (go) v1.14.4
github.com/zclconf/go-cty-yaml (go) v1.1.0
golang.org/x/mod (go) v0.35.0
gopkg.in/yaml.v3 (go) v3.0.1
github.com/agext/levenshtein (go) v1.2.1
github.com/apparentlymart/go-textseg/v13 (go) v13.0.0
github.com/apparentlymart/go-textseg/v15 (go) v15.0.0
github.com/davecgh/go-spew (go) v1.1.1
github.com/google/go-cmp (go) v0.7.0
github.com/kr/pretty (go) v0.2.1
github.com/kr/text (go) v0.2.0
github.com/kylelemons/godebug (go) v1.1.0
github.com/mitchellh/go-wordwrap (go) v0.0.0-20150314170334-ad45545899c7
github.com/pmezard/go-difflib (go) v1.0.0
golang.org/x/text (go) v0.37.0
gopkg.in/check.v1 (go) v1.0.0-20201130134442-10cb98267c6c
Files by Type (count)
Go
200
SQL
125
Markdown
122
Other (.txtar)
101
Other (.golden)
28
Other (.sum)
25
YAML
15
Other (.hcl)
7
Other (.tmpl)
7
Shell
6
JSON
4
Other (no ext)
3
Files by Type (size)
Go
3MB
Markdown
1MB
Other (.txtar)
177KB
Other (.sum)
64KB
SQL
39KB
YAML
31KB
Other (.g4)
25KB
Other (.golden)
25KB
Other (no ext)
21KB
Other (.maria)
16KB
Other (.mod)
10KB
Other (.tmpl)
9KB

The LLM identified 5 files worth highlighting for reuse:

Implements the Analyzer interface for detecting backward-incompatible schema changes. Part of a pluggable checker framework that is isolated, well-tested, and reusable for SQL linting in other projects. Demonstrates clean separation of concerns and extensible design.

file: sql/sqlcheck/incompatible/incompatible.go ↗ | tags: #analyzer-framework #linting #safety-checks

Provides bidirectional conversion between HCL and internal schema objects with an extension system for custom attributes and functions. The codec is self-contained and could be extracted for HCL-based configuration in other applications. Shows advanced HCL usage and thoughtful extensibility.

file: schemahcl/schemahcl.go ↗ | tags: #hcl-codec #schema-definition #extension-pattern

Implements a driver registration system for pluggable database support. The abstraction is clean, minimal, and follows common patterns making it highly reusable in other Go projects needing multi-database support. Well-tested and isolated from higher-level logic.

file: sql/sqlclient/client.go ↗ | tags: #driver-abstraction #database-driver #registry-pattern

Core migration planning logic that computes schema differences and generates executable SQL. Includes efficient change grouping for ALTER statements and dialect-specific planning. The planner/executor pattern is isolated and reusable for migration systems beyond Atlas.

file: sql/migrate/migrate.go ↗ | tags: #migration-planner #schema-diff #change-grouping

Implements a safe scripting engine for migration files with conditionals, assertions, and loops. The engine is self-contained and could be extracted for SQL templating in other migration tools. Demonstrates non-obvious skill in designing a limited, secure DSL for schema changes.

file: atlasexec/atlas_script.go ↗ | tags: #scripting-engine #conditional-migration #control-flow
Last analyzed: 2026-10-16 01:21:42.411923
Next check: 2026-10-23 01:21:42.412310
$ submit: