当前位置:首页 >专题 >Go 数据库迁移工程实践专题

Go 数据库迁移工程实践专题
Go 数据库迁移

Go 数据库迁移工程实践专题

把 schema 变更做成可追踪、可回滚、可验收的交付流程
数据库迁移不是一次性的建表脚本,而是跟随应用版本持续演进的工程资产。本专题精选 Go 生态中的迁移工具与真实文章,帮助开发者建立从本地开发到生产发布的可追踪变更流程。

站内实战文章

按工具选型、嵌入交付和故障排查串成实践路径

数据库迁移状况百出?快来看看这个开源工具
文章

数据库迁移状况百出?快来看看这个开源工具

从常见迁移问题切入,介绍数据库迁移工具的使用思路。
Go 语言中数据库升级的最佳实践
文章

Go 语言中数据库升级的最佳实践

讨论 Go 项目数据库升级过程中的组织与发布实践。
使用 golang-migrate 实现数据库迁移
文章

使用 golang-migrate 实现数据库迁移

演示 golang-migrate 的迁移文件和执行方式。
使用 gomigrate 包为嵌入文件 (go:embed) 进行迁移
文章

使用 gomigrate 包为嵌入文件 (go:embed) 进行迁移

将迁移文件嵌入 Go 程序并在运行时执行。
使用 Gorm 进行数据库迁移管理
文章

使用 Gorm 进行数据库迁移管理

介绍 GORM 场景下的数据库迁移管理方式。
跳过数据库中已存在的迁移记录 - golang-migrate
文章

跳过数据库中已存在的迁移记录 - golang-migrate

处理已有迁移记录与工具执行状态之间的兼容问题。
如何使用make文件运行Golang迁移:数据库驱动错误-未知postgresql驱动程序
文章

如何使用make文件运行Golang迁移:数据库驱动错误-未知postgresql驱动程序

排查 Makefile 执行 Go 迁移时的 PostgreSQL 驱动配置错误。
在 Docker 容器中安装 go-migrate 的方法是什么?
文章

在 Docker 容器中安装 go-migrate 的方法是什么?

讨论在 Docker 容器中准备 go-migrate 工具的方式。

常见问题

把迁移策略转化为可执行的上线判断

AutoMigrate 可以完全替代版本化迁移吗?

通常不能。AutoMigrate 适合开发期或简单兼容变更;生产环境涉及删列、数据回填、锁表和回滚时,应使用经过评审的显式迁移文件。

迁移应该在应用启动时自动执行吗?

要结合服务数量、锁策略和发布流程决定。多副本服务同时启动可能重复竞争,通常更适合由独立发布步骤或受控 Job 执行,并记录版本和失败状态。

数据库迁移如何设计回滚?

先区分 schema 回滚和数据回滚;破坏性变更优先采用向前兼容、分阶段发布和备份恢复方案,不要假设 down 脚本能安全还原所有业务数据。

如何验证一次迁移可以上线?

在接近生产的数据规模上演练,检查耗时、锁等待、幂等重跑、失败恢复、应用兼容窗口、备份和监控告警,并保留可审计的版本记录。

微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码