上节为大家讲解了alembic如何使用?本节就为大家介绍一下alembic常用命令有哪些?
alembic常用命令如下:
在讲这些命令用法之前,我们先建立一个alembic_demo数据库
然后再建立一个alembic_demo项目
alembic_demo.py 文件代码如下:
from sqlalchemy import create_engine,Column,Integer,String
from sqlalchemy.ext.declarative import declarative_base
DIALCT = "mysql"
DRIVER = "pymysql"
USERNAME = "root"
PASSWORD = "admin"
HOST = "127.0.0.1"
PORT = "3306"
DATABASE = "alembic_demo"
DB_URI = "{}+{}://{}:{}@{}:{}/{}?charset=utf8".format(DIALCT,DRIVER,USERNAME,PASSWORD,HOST,PORT,DATABASE)
engine = create_engine(DB_URI)
Base = declarative_base(engine)
class User(Base):
__tablename__ = "user"
id = Column(Integer , primary_key=True , autoincrement=True)
name = Column(String(50) , nullable=False)
打开cmd窗口,进入到当前项目虚拟环境中
OK,准备就绪!下面我就分别为大家讲讲这些命令的用法。
第一个:init
语法:alembic init alembic
作用:创建一个alembic 文件/仓库
运行上述代码,会在当前项目创建一个alembic及alembic.ini文件
第二个:revision/--autogenerate/-m
语法:alembic revision --autogenerate -m "first add commit"
作用:生成数据库迁移文件
在创建迁移版本文件的时候,记得先配置好alembic.ini以及env.py文件,由于上节我们已经告诉大家如何配置,在这里我就不再讲解。不知道如何配置的大胸弟可访问此链接(第4步和第5步):https://blog.csdn.net/aimill/article/details/82152173
配置好alembic.ini,env.py文件后,在输入 alembic revision --autogenerate -m "first commit" 命令
运行上诉命令后,打开alembic_demo项目,你会发现在versions文件下多了一个版本文件
注:
1、revision 表示生成一个新的版本文件
2、--autogenerate 表示自动生成迁移文件
3、-m 后面跟修改信息,如果迁移文件很多,可以方便用户理解每个迁移文件的作用及用户回顾
first add commit 可以改成其它名字,我这里为了方便理解,故命名 first add commit
第三个:upgrade
语法:alembic upgrade head
作用:将迁移文件映射到数据库中
我们创建迁移文件后,并没有映射到数据库中,还需输入alembic upgrade head命令将迁移文件映射到数据库中。
在运行之前,我们先确认下alembic_demo数据库没有user表
然后我们在将迁移文件映射到数据库中。
我们再查询下alembic_demo数据库,你会发现alembic_demo数据库下有一张user表
第四个:head
作用:代表迁移文件最新版本号
上面我们做迁移文件映射时,就是用alembic upgrade head来将迁移文件最新版本号映射到数据库,如果有多个迁移脚本版本号时,可以手动输入迁移版本号,例如: alembic upgrade 其它版本号
第五个:heads
语法:alembic heads
作用:可以查看head指向的迁移文件版本号
第六个:current
语法:alembic current
作用:查看当前数据库版本号
第七个:history
语法:alembic history
作用:查看当前数据迁移版本及其信息
以上就是alembic常用命令,文章若有不当之处,欢迎指出!