目前在自学Flask,到了数据库迁移的问题,提到了flask-migrate框架,但我自身从未接触过数据库的知识,对数据库认识仅停留在更抽象层面SQLAlchemy即ORM的基础上,所以其原理我简单理解成是:
把数据库复制一份副本,然后修改它,然后用它去替代原有的数据库,但具备版本控制功能,如git。
而在操作中,出现了三个关键步骤:
1.创建迁移仓库
2.创建迁移脚本
3.更新数据库
这里有点难以理解是:这三步=复制一份数据库的副本。但这里的仓库,脚本,和更新数据库到底是怎样一种关系?能否理解成,1创建迁移仓库是复制一份数据库副本,2创建迁移脚本就是为这个副本添加版本控制等功能,而3更新数据库的意思相当于db.creat_all(),在我的理解上就和1重复了。
该如何理解?或相关资料推介也好。非常感谢!
你可以看一下迁移文件夹里的文件(仓库),里面记录了model的变化(脚本)。至于(更新),应该是用这些脚本的所提供信息来设置数据库。