Python——alembic数据库ORM模型的迁移与映射
alembic 作用:
方便数据库与ORM模型的迁移与映射
alembic 安装:
pip install alembic
alembic 用法:
1、第一步:
创建ORM模型, .py文件
from sqlalchemy import Column, Integer, String, ForeignKey, Date, Table, Text, DateTime, func, BigInteger, UniqueConstraint, Date, \
Float, Boolean, text, LargeBinary, UnicodeText
from sqlalchemy.ext.declarative import declarative_base, declared_attr
class MyBase(object):
@declared_attr
def __tablename__(cls):
return cls.__name__.lower()
__table_args__ = {'mysql_engine': 'InnoDB'}
id = Column(Integer, primary_key=True, comment='主键')
create_time = Column(DateTime, server_default=func.now())
class UidMixin(object):
uid = Column(Integer, server_default="0", comment='用户ID')
class SoftDeleteMixin(object):
deleted = Column(Boolean, server_default=text('0'))
class PersonMixin(object):
"""人员信息"""
name = Column(String(32), comment='姓名')
id_no = Column(String(18), comment='身份证号')
mobile = Column(String(11), comment='手机号')
email = Column(String(64), comment='电子邮箱')
class CompanyMixin(object):
"""企业信息"""
certificate = Column(String(64), comment='企业机构代码')
register_addr = Column(String(64), comment='注册地址')
contact = Column(String(12), comment='企业联系人')
Base = declarative_base(cls=MyBase)
2、第二步
打开CMD窗口,进入到我们当前项目虚拟环境中
3、第三步
创建一个alembic仓库,输入以下命令:
alembic init alembic
注:第一个alembic是alembic语法,类似git。第二个init代表初始化,第三个alembic代表仓库名,你也可以命名其它名字,这里为了方便理解,所以采用了alembic这一名字
4、第四步
找到alembic.ini配置文件,修改sqlalchemy.url,代码如下:
sqlalchemy.url = mysql+pymysql://root:admin@localhost/alembic_demo
注:和数据库连接信息一样
5、第五步
找到env.py文件,修改target_metadata参数:
target_metadata = models.Base.metadata
6、第六步:
创建数据库迁移文件,命令如下:
alembic revision --autogenerate -m “first commit”
注:alembic映射到数据库流程如下
ORM模型 ——迁移文件——映射到数据库中
7、第七步:
将迁移文件映射到数据库中,命令如下:
alembic upgrade head
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)