最近在玩web 框架的时候发现一个库可以直接生成 sqlalchemy 库表类 复制库表和生成库表都简单许多,直接上代码
自动生成库表类
import os
os.system(f'sqlacodegen mysql+pymysql://{"账号"}:{"密码"}@{"127.0.0.1"}:{"3306"}/{"库表名"}?charset=utf8 > 生成的文件名.py')
一键生成库表
ENGINE = dict(
url=f'mysql+pymysql://{"账户"}:{"密码"}@{"127.0.0.1"}:{"3306"}/{"Gabriel_Prod"}?charset=utf8',
pool_size=10,
pool_recycle=1600,
pool_pre_ping=True,
pool_use_lifo=True
)
ENGINE = create_engine(**ENGINE)
ENGINE_MAKE = sessionmaker(bind=ENGINE)
Base = declarative_base()
metadata = Base.metadata
class App(Base):
__tablename__ = 'app'
__table_args__ = {'comment': '用户app信息表'}
id = Column(Integer, primary_key=True, comment='主键')
merNo = Column(VARCHAR(64), nullable=False, index=True, comment='商户No')
applicationNo = Column(VARCHAR(64), nullable=False,
index=True, comment='商户应用No')
orderId = Column(VARCHAR(64), nullable=False, comment='商户订单id')
transId = Column(VARCHAR(64), nullable=False, index=True, comment='用户唯一标识')
...
"""数据库重置 删除原有数据,谨慎使用!!!!"""
Base.metadata.drop_all(LOCAL_ENGINE)
'''项目数据库初始化 激活连接'''
Base.metadata.create_all(LOCAL_ENGINE)
|