轩辕镜像
轩辕镜像专业版
个人中心搜索镜像
交易
充值流量我的订单
工具
工单支持镜像收录Run 助手IP 归属地密码生成Npm 源Pip 源
帮助
常见问题我要吐槽
其他
关于我们网站地图

官方QQ群: 13763429

轩辕镜像
镜像详情
pbxx/migrate
官方博客使用教程热门镜像工单支持
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。
轩辕镜像 - 国内开发者首选的专业 Docker 镜像下载加速服务平台 - 官方QQ群:13763429 👈点击免费获得技术支持。
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

migrate Docker 镜像下载 - 轩辕镜像

migrate 镜像详细信息和使用指南

migrate 镜像标签列表和版本信息

migrate 镜像拉取命令和加速下载

migrate 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

migrate
pbxx/migrate

migrate 镜像详细信息

migrate 镜像标签列表

migrate 镜像使用说明

migrate 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

这是一个基于Go语言的轻量级数据库迁移工具镜像,用于版本化管理数据库模式变更,支持主流数据库,提供创建、应用和回滚迁移脚本的命令行功能,帮助团队高效同步数据库结构。
0 次下载activepbxx镜像
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源
中文简介版本下载
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源

migrate 镜像详细说明

migrate 使用指南

migrate 配置说明

migrate 官方文档

Go Migration Tool 镜像文档

镜像概述

Go Migration Tool 是一个轻量级Docker镜像,封装了基于Go语言开发的数据库迁移工具,旨在简化数据库模式的版本化管理。该工具支持主流关系型数据库(如PostgreSQL、MySQL、SQLite、SQL Server等),通过命令行接口提供迁移脚本的创建、应用、回滚等操作,帮助开发团队在协作和部署过程中保持数据库结构一致性。

核心功能与特性

  • 多数据库支持:兼容PostgreSQL、MySQL、SQLite、SQL Server等主流关系型数据库
  • 版本化迁移管理:通过有序编号的迁移脚本跟踪数据库结构变更历史
  • 迁移脚本生成:提供命令快速创建标准化的迁移脚本文件(包含"up"和"down"操作)
  • 灵活迁移操作:支持全量迁移、指定版本迁移、回滚到上一版本或指定版本
  • 事务安全保障:迁移操作默认在事务中执行,确保变更的原子性
  • 轻量级设计:镜像体积小(基于Alpine),无额外依赖,可快速集成到各类环境
  • 迁移记录追踪:自动维护迁移状态表,记录已执行的迁移脚本信息

使用场景与适用范围

  • 开发环境:团队成员间快速同步数据库结构变更,减少"本地环境正常,测试环境异常"问题
  • 持续集成/部署:作为CI/CD流程的环节,在应用部署前自动执行数据库迁移
  • 生产环境:通过版本化迁移降低数据库变更风险,支持灰度发布场景下的结构同步
  • 多环境一致性:确保开发、测试、预发、生产环境数据库结构的严格一致
  • 数据库重构:支持大型数据库结构重构的分步实施与回滚预案

使用方法与配置说明

基本使用流程

  1. 准备迁移脚本目录(本地文件系统),目录结构示例:

    migrations/
      ├── 001_create_users_table.up.sql
      ├── 001_create_users_table.down.sql
      ├── 002_add_email_index.up.sql
      └── 002_add_email_index.down.sql
    
  2. 通过Docker命令挂载脚本目录并执行迁移操作

Docker Run 命令示例

1. 创建迁移脚本

docker run --rm \
  -v $(pwd)/migrations:/app/migrations \
  go-migration-tool create add_user_status_column

执行后将在migrations目录生成两个文件:XXX_add_user_status_column.up.sql和XXX_add_user_status_column.down.sql(XXX为自动生成的序号)

2. 应用所有未执行的迁移

docker run --rm \
  -v $(pwd)/migrations:/app/migrations \
  -e DB_DRIVER=postgres \
  -e DB_URL="host=db-host port=5432 user=dbuser password=dbpass dbname=mydb sslmode=disable" \
  go-migration-tool up

3. 回滚最近一次迁移

docker run --rm \
  -v $(pwd)/migrations:/app/migrations \
  -e DB_DRIVER=mysql \
  -e DB_URL="root:password@tcp(mysql-host:3306)/mydb?charset=utf8mb4&parseTime=True&loc=Local" \
  go-migration-tool down 1

4. 查看迁移状态

docker run --rm \
  -e DB_DRIVER=sqlite3 \
  -e DB_URL="./mydb.db" \
  go-migration-tool status

Docker Compose 集成示例

version: '3.8'
services:
  app:
    image: your-app-image
    depends_on:
      - db
      - migrate

  db:
    image: postgres:15-alpine
    environment:
      POSTGRES_USER: dbuser
      POSTGRES_PASSWORD: dbpass
      POSTGRES_DB: mydb

  migrate:
    image: go-migration-tool
    volumes:
      - ./migrations:/app/migrations
    environment:
      DB_DRIVER: postgres
      DB_URL: "host=db port=5432 user=dbuser password=dbpass dbname=mydb sslmode=disable"
    command: up
    depends_on:
      - db

配置参数与环境变量

必选环境变量

变量名说明示例值
DB_DRIVER数据库驱动类型postgres、mysql、sqlite3、sqlserver
DB_URL数据库连接URL(因驱动而异)PostgreSQL: host=localhost port=5432 user=user dbname=db sslmode=disable

可选环境变量

变量名说明默认值
MIGRATION_DIR迁移脚本存放目录(容器内路径)/app/migrations
MIGRATE_TABLE迁移状态记录表名schema_migrations
MIGRATE_LOCK_TABLE迁移锁表名(用于并发控制)schema_migrations_lock
VERBOSE是否开启详细日志输出(1=开启)0

常用命令

命令格式说明
create <name>创建新的迁移脚本对(up/down)
up应用所有未执行的迁移
up <n>应用最近n个未执行的迁移
down回滚最近1个迁移
down <n>回滚最近n个迁移
down to <version>回滚到指定版本(版本号为脚本前缀数字)
status查看迁移状态(已执行/未执行)
version查看当前数据库的迁移版本

注意事项

  • 迁移脚本命名规范:建议使用{序号}_{描述}.up.sql和{序号}_{描述}.down.sql格式,序号需为整数且递增
  • 生产环境迁移:执行前建议备份数据库,复杂变更需先在测试环境验证
  • 并发控制:多实例同时执行迁移时,工具会通过锁表机制防止冲突
  • SQLite注意:SQLite不支持部分DDL语句的事务回滚,使用时需谨慎设计down脚本
查看更多 migrate 相关镜像 →
migrate/migrate logo
migrate/migrate
by migrate
golang-migrate的Docker镜像,提供数据库迁移管理工具,支持多种数据库后端,可便捷执行数据库版本迁移、回滚等操作,无需本地安装依赖。
2210M+ pulls
上次更新:1 个月前
infoblox/migrate logo
infoblox/migrate
by infoblox
golang-migrate是一个轻量级数据库迁移工具,基于Go语言开发,支持PostgreSQL、MySQL等多种数据库,用于版本化管理数据库结构变更(如创建表、修改字段),提供迁移脚本执行、版本控制及回滚功能。
50M+ pulls
上次更新:4 个月前

常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像免费版与专业版有分别支持哪些镜像?

免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

轩辕镜像下载加速使用手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

🔐

登录方式进行 Docker 镜像下载加速教程

通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤

🐧

Linux Docker 镜像下载加速教程

在 Linux 系统上配置轩辕镜像源,支持主流发行版

🖥️

Windows/Mac Docker 镜像下载加速教程

在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统

📦

Docker Compose 镜像下载加速教程

在 Docker Compose 中使用轩辕镜像加速,支持容器编排

📋

K8s containerd 镜像下载加速教程

在 k8s 中配置 containerd 使用轩辕镜像加速

🔧

宝塔面板 Docker 镜像下载加速教程

在宝塔面板中配置轩辕镜像加速,提升服务器管理效率

💾

群晖 NAS Docker 镜像下载加速教程

在 Synology 群晖NAS系统中配置轩辕镜像加速

🐂

飞牛fnOS Docker 镜像下载加速教程

在飞牛fnOS系统中配置轩辕镜像加速

📱

极空间 NAS Docker 镜像下载加速教程

在极空间NAS中配置轩辕镜像加速

⚡

爱快路由 ikuai Docker 镜像下载加速教程

在爱快ikuai系统中配置轩辕镜像加速

🔗

绿联 NAS Docker 镜像下载加速教程

在绿联NAS系统中配置轩辕镜像加速

🌐

威联通 NAS Docker 镜像下载加速教程

在威联通NAS系统中配置轩辕镜像加速

📦

Podman Docker 镜像下载加速教程

在 Podman 中配置轩辕镜像加速,支持多系统

📚

ghcr、Quay、nvcr、k8s、gcr 等仓库下载镜像加速教程

配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤

🚀

专属域名方式进行 Docker 镜像下载加速教程

无需登录即可使用轩辕镜像加速服务,更加便捷高效

需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429

商务:17300950906
|©2024-2025 源码跳动
商务合作电话:17300950906|Copyright © 2024-2025 杭州源码跳动科技有限公司. All rights reserved.