文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
数据库升级和降级流程
目前,本应用还处于初期阶段,但讨论一下未来的数据库迁移战略也无伤大雅。 假设你的开发计算机上存有应用的源代码,并且还将其部署到生产服务器上,运行应用并上线提供服务。
而应用在下一个版本必须对模型进行更改,例如需要添加一个新表。 如果没有迁移机制,这将需要做许多工作。无论是在你的开发机器上,还是在你的服务器上,都需要弄清楚如何变更你的数据库结构才能完成这项任务。
通过数据库迁移机制的支持,在你修改应用中的模型之后,将生成一个新的迁移脚本( flask db migrate
),你可能会审查它以确保自动生成的正确性,然后将更改应用到你的开发数据库( flask db upgrade
)。 测试无误后,将迁移脚本添加到源代码管理并提交。
当准备将新版本的应用发布到生产服务器时,你只需要获取包含新增迁移脚本的更新版本的应用,然后运行 flask db upgrade
即可。 Alembic 将检测到生产数据库未更新到最新版本,并运行在上一版本之后创建的所有新增迁移脚本。
正如我前面提到的, flask db downgrade
命令可以回滚上次的迁移。 虽然在生产系统上不太可能需要此选项,但在开发过程中可能会发现它非常有用。 你可能已经生成了一个迁移脚本并将其应用,只是发现所做的更改并不完全是你所需要的。 在这种情况下,可以降级数据库,删除迁移脚本,然后生成一个新的来替换它。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论