Alembic环境配置与基本操作

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

在上一篇文章中初始化了alembic,现在要修改一下配置文件

1、在alembic文件夹里面的env.py里新增红框中的三行代码,其中flask_alembic_0426是主文件名;

 

2、修改env.py里的target_metadata变量:

 

 

 

 3、修改alembic.ini:

 

 

然后就可以切换数据库的版本了。

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了,然后还要删除最新的版本文件:

 

posted @ 2020-04-16 08:04  天青色wy  阅读(1882)  评论(1编辑  收藏  举报