macOS
brew install golang-migratelocal Homebrew formula metadata
安装
brew install golang-migratelocal Homebrew formula metadata
sudo dnf install migrateFedora Rawhide package metadata · migrate · 来源: dl.fedoraproject.org
nix profile install nixpkgs#migratenixpkgs package indexes · pkgs/by-name/mi/migrate/package.nix · 来源: api.github.com
sudo apt install python-migrate-docUbuntu 24.04 LTS package indexes · python-migrate-doc · 来源: archive.ubuntu.com
scoop install main/migrateScoop official bucket manifest trees · bucket/migrate.json · 来源: api.github.com
概览
Database migrations CLI tool
历史
golang-migrate is a Go database migration project distributed as both a CLI and a Go library. It applies ordered migration files from source drivers to database drivers, deliberately keeping database drivers simple while centralizing migration logic in the core package.
The project traces back to `mattes/migrate`, a database migration repository created in 2014. The maintained `golang-migrate/migrate` repository was created in January 2018 and states that it was forked from `mattes/migrate`.
The fork preserved the core CLI/library model while continuing the driver architecture. Its README documents a broad matrix of database drivers, including PostgreSQL, MySQL/MariaDB, SQLite, SQL Server, Cassandra/ScyllaDB, ClickHouse, MongoDB, CockroachDB, and cloud-oriented sources such as GitHub, GitLab, S3, and Google Cloud Storage.
The project standardized on Go module import paths for v4 and explicitly marks v3 as unsupported in its README. That version boundary matters because many Go projects embed migration support directly in their own binaries rather than only shelling out to the CLI.
golang-migrate became a common Go ecosystem migration tool because it works both as a standalone `migrate` binary and as an importable library. The README points to packagecloud deb packages, Docker images, GitHub releases, and Go documentation, while the batch input records Homebrew, Fedora, Nix, Scoop, and other package-manager entries.
The maintained fork's GitHub repository had over 18,000 stars and more than 1,500 forks in the 2026 GitHub API snapshot used for this batch, making it one of the better-known Go-native database migration tools.
The standard workflow is to create paired up/down SQL files with `migrate create`, then run them with a source such as `file://path/to/migrations` and a database URL. The getting-started guide emphasizes running migrations up, down, and up again before committing them.
Operationally, golang-migrate is intentionally explicit: the README says the CLI has no config search paths, no config files, and no magic environment-variable injection. Users pass source and database URLs directly, and database credentials normally live in those URLs or in caller-managed secret handling rather than in a tool-owned credentials file.
The getting-started guide highlights dirty database states, force operations, idempotent migrations, transaction wrapping, and database locking when multiple app instances may run migrations. Those warnings are why package users often treat `migrate` as deployment infrastructure rather than a casual development helper.
For package nerds, golang-migrate is the archetypal Go single-binary infrastructure tool: it can be installed from Homebrew, run from Docker, vendored as a library, or baked into a release artifact. The driver split also makes downstream builds interesting, because packagers and application authors decide which database/source drivers to include.
Its significance is also cultural: it represents the Go preference for explicit URLs, small binaries, and predictable failure over framework-managed migration magic. That makes it popular in CI pipelines and container entrypoints where reproducibility beats convenience.
安全态势
broad file, network, media, or database tool signal.
blue 风险 · 中 置信度 · tool
在无人值守的代理使用前,请检查该工具是否读取明文凭据、写入远程状态、发布制品或调用插件。
可执行文件
| 命令 | 类型 | 暴露范围 | 备注 |
|---|---|---|---|
migrate | cli | 全局可执行文件 |
新鲜度
这些信号区分页生成时间、软件包管理器活动和上游发布比较。只有存在证据 URL 和可比较版本时,才会提示版本落后。
https://github.com/golang-migrate/migrate
安装元数据
| 软件包键 | brew:golang-migrate |
|---|---|
| 版本 | 4.19.1 |
| 软件包管理器 | Homebrew |
| 软件包管理器页面 | https://formulae.brew.sh/formula/golang-migrate |
| 主页 | https://github.com/golang-migrate/migrate |
| 仓库 | https://github.com/golang-migrate/migrate |
| 上游文档 | https://github.com/golang-migrate/migrate#readme |
| 许可证 | MIT |
| 源码归档 | https://github.com/golang-migrate/migrate/archive/refs/tags/v4.19.1.tar.gz |
| 构建依赖 | go |
| Bottle | 可用 (于 arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | 未定义 |
| 服务 | 未声明 |
注册表事实
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | golang-migrate |
| Version Scheme | 0 |
| Revision | 0 |
| Head Version | HEAD |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
源数据库匹配
匹配项来自外部软件包管理器索引,并与本地 Automic Vault 软件包链接分开显示。
migrate
nix profile install nixpkgs#migratepython-migrate-doc 0.13.0-0ubuntu2
Database schema migration for SQLAlchemy - doc
https://github.com/openstack/sqlalchemy-migrate
sudo apt install python-migrate-docpython3-migrate 0.13.0-0ubuntu2
Database schema migration for SQLAlchemy - Python 3.x
https://github.com/openstack/sqlalchemy-migrate
sudo apt install python3-migratemigrate 4.19.1-4.fc44
Go database migrations library and program
https://github.com/golang-migrate/migrate
sudo dnf install migratemain/migrate
scoop install main/migrate来源线索
此页面由 av-web 从 scripts/generate-pkg-sqlite.py 生成的私有软件包 SQLite 工件提供。
View the package source record on GitHub.