Alembic环境配置与基本操作

alembic就好像是git一样,,每次修改数据库都会有个对应的版本号,可以通过版本号回滚到以前的版本。

1、在模型里修改了数据库的表,如:我在这张表里添加了一个字段“address”

2、保存后,就可以新生成一个版本了:

  alembic revision --autogenerate -m "add address column"

 3、将数据库更新到刚才那个版本,也就是最新版本:

  alembic upgrade head

查看数据库表,多了一列:

4、查看当前的版本号: 

  alembic current

  fce5d4alebe4

5、查看最新的版本号:

  alembic heads

 当前版本与最新版本号相同。

6、查看版本历史:

  alembic history

 7、回滚到上个版本:从上图可得上个版本号为4b33fbbb8fc6

  alembic downgrade 4b33fbbb8fc6

 回滚成功:

8、回到最新的版本,当在address字段加入nullable=False会怎么样?

表已经建好了,而且里面有数据,没的都是NULL,此时改为非空?试试吧

生成新版本没问题:7369f5

但是能更新到新版本吗?

 报错了!说明这样做是不行的。

只能删除掉模型中的nullable=False了,然后还要删除最新的版本文件:

猜你喜欢

转载自www.cnblogs.com/wangyi0419/p/12710007.html
今日推荐