# 应用运行期间如何安全地修改数据库架构？

Canonical URL: https://help.iagenify.com/zh/faqs/databases/how-can-i-safely-change-a-database-schema-while-my-app-is-running

[← 返回数据库常见问题](https://help.iagenify.com/zh/faqs/databases)

帮助中心 · 常见问题 数据库 1 分钟阅读
# 应用运行期间如何安全地修改数据库架构？
采用渐进式迁移，让部署期间的新旧应用版本都能兼容。将添加结构、回填数据、切换读写逻辑和移除旧结构拆成可观测的步骤。
IaGenify
数据库

## 先扩展，再切换
先做增量变更，例如新增可空列、新表，或使用数据库支持的在线方式创建索引。在依赖新字段之前，先部署能兼容新旧架构的代码。
分批回填现有记录，监控数据库负载，并让任务支持断点续跑。避免使用一个长事务造成长时间锁定或复制延迟突然上升。
## 验证后再收缩
所有运行中的实例都使用新结构后，先核对数据一致性并观察错误，再删除旧列或约束。为延迟任务和回滚流程留出足够的兼容时间。
用接近生产环境的数据量测试迁移并制定恢复方案。回滚应用代码未必能撤销破坏性架构变更；保留旧数据或向前修复可能更安全。 [← 返回数据库常见问题](https://help.iagenify.com/zh/faqs/databases)
