Source: https://seerepo.com/compare/golang-migrate/migrate/vs/xo/usql
Markdown source: https://seerepo.com/compare/golang-migrate/migrate/vs/xo/usql.md
Description: migrate and usql share 6 technologies: go-sqlite3, MySQL, pgx, pq, SQLite, and github.com/microsoft/go-mssqldb. Both are written in Go.

# migrate vs usql

migrate and usql share 6 technologies: go-sqlite3, MySQL, pgx, pq, SQLite, and github.com/microsoft/go-mssqldb. Both are written in Go.

- [golang-migrate/migrate](https://seerepo.com/r/golang-migrate/migrate): Database migrations. CLI and Golang library.
- [xo/usql](https://seerepo.com/r/xo/usql): Universal command-line interface for SQL databases

## What they share and what sets them apart

- In common: go-sqlite3, MySQL, pgx, pq, SQLite, github.com/microsoft/go-mssqldb
- Only in migrate: MongoDB, github.com/gocql/gocql, golang.org/x/oauth2, github.com/moby/moby/api, github.com/moby/moby/client, github.com/aws/aws-sdk-go
- Only in usql: XO, github.com/duckdb/duckdb-go/v2, github.com/nakagami/firebirdsql, github.com/SAP/go-hdb, github.com/vertica/vertica-sql-go, github.com/ydb-platform/ydb-go-sdk/v3, github.com/xo/terminfo

## Side by side

| | migrate | usql |
|---|---|---|
| Size | 23,328 lines written, 84 code files | 31,440 lines written, 141 code files |
| Who writes it | 0.1% of its commits signed by AI. With GitHub Copilot | 10.8% of its commits signed by AI. With Claude Code |
| Activity | Last push September 9, 2026, 1,116 commits, 19,007 stars | Last push November 11, 2026, 1,342 commits, 10,169 stars |
| Tests | 57 test files. 56% of its code files have a test that imports them | 53 test files. 58.2% of its code files have a test that imports them |

- Size: Lines written by people and agents, without generated ones; code files, without tests.
- Who writes it: A commit counts as AI's when it carries its signature: a Co-Authored-By line, its author name or the merge of its branch.
- Activity: From GitHub and its history, on the day SeeRepo read it.
- Tests: The files that test the code, and the share of code files a test imports.

## Frequently asked questions

### Which is bigger, migrate or usql?

usql, with 31,440 lines written; migrate has 23,328.

The proof: [xo/usql's code at commit d9ce865](https://github.com/xo/usql/tree/d9ce8654c14d8991e503c2111616dc6600b24376)

### Which has more GitHub stars, migrate or usql?

migrate, with 19,007 stars; usql has 10,169.

The proof: [golang-migrate/migrate on GitHub](https://github.com/golang-migrate/migrate)

### Which has more tests, migrate or usql?

migrate, with 57 test files; usql has 53.

The proof: [golang-migrate/migrate's code at commit 504568a](https://github.com/golang-migrate/migrate/tree/504568a3cbd23b8754760f55a3d89aec1b0c4963)

### Which was updated more recently, migrate or usql?

usql: its last push was on November 11, 2026, and migrate's on September 9, 2026.

The proof: [xo/usql's commits on GitHub](https://github.com/xo/usql/commits)

### Which has more commits signed by AI, migrate or usql?

usql: an AI signed 10.8% of its commits, with Claude Code; in migrate, 0.1%.

The proof: [the commits each tool signed in xo/usql](https://seerepo.com/r/xo/usql/ai)

## Sources

- golang-migrate/migrate: Read on November 6, 2026, at commit 504568a (https://github.com/golang-migrate/migrate/tree/504568a3cbd23b8754760f55a3d89aec1b0c4963)
- xo/usql: Read on November 14, 2026, at commit d9ce865 (https://github.com/xo/usql/tree/d9ce8654c14d8991e503c2111616dc6600b24376)

## What is your repo built with?

Any public repo, with no account: https://seerepo.com/r/owner/repo/built, with the owner and name it has on GitHub.
