今天我们来聊一聊在FastApi里面,数据迁移工作。
啥是数据迁移
在我们平时的开发过程中,经常需要对一些数据进行调整
。一般会有以下几种场景:
1.需要新的数据表
我们的接口自动化平台虽然已经较为完善
了,但难免会继续迭代一些新的功能,假设我们需要做一个订阅用例
的功能。
大体想一下就可以知道,订阅用例以后这个数据得持久化
(即入库),这样我在查询谁订阅了这条用例的时候,就能获取到订阅人
,订阅时间
等数据。
这也就意味着
我们需要一张订阅表,里面至少得有订阅人和订阅的id,以及订阅时间这3个要素。体现在数据库通俗点说就需要:
// 创建订阅表, 后面的省略
create table...
由于业务的变动
,导致新的数据表诞生。
2.需要对现有表结构进行调整
当我们的订阅表完成以后,有的同学就发现了,这个订阅好像不能取消,所以我们此时可能需要一个新的字段: isValid
,这个字段用来判断用户是否取消订阅了这个用例,如果我订阅错了,或者嫌消息太多,想取消订阅,那还是得满足需求的。
包括新增字段/修改字段/删除字段,这些都会对数据表
产生影响,导致我们需要改动数据库。
回到ORM
我们目前采用sqlalchemy
作为我们的orm,如果只需要修改Python的Mode