Flask-SQLAlchemy反向生成model

本人测试人员,在做数据的验证的时候,反复调用pymysql,编写大量的sql语句,特别浪费时间,并且有时候业务比较复杂的时候,一句sql往往不能解决问题(当然如果上纲上线,所有业务逻辑都是可以用一句sql解决的,但那是建立在你的sql基础与时间成本上的)。所以我就产生了这个想法,是否可以借用ORM来实现数据的查询?当然我这个想法可能还不成熟,但不管如何,ORM还是我们测试人员必须会的一个知识点,所以就开始动手

1.SQLAlchemy

该框架偏向于底层,并且网上的资料也少,所以查阅了一些资料后就选择放弃了

2.Flask-SQLAlchemy

思路:编写一个脚本,可以实现测试数据库自动生成models

import os

from config.basic_config import MYSQL_ENVIRONMENT, PROJECT_PATH
from config.mysql_config import set_mysql_config
from properties.common_var import BASIC

'''
针对已有数据库,创建models脚本,只需要执行一次生成model即可
'''

# 数据库服务器:basic/hive
db_service = BASIC
# 数据库的库名——暂定一个库一个model,如想更改为一个表一个model,自行优化
db = 'db_bd'

db_config = set_mysql_config(MYSQL_ENVIRONMENT, db_service)

instructions = 'sqlacodegen mysql://' + db_config['user'] + ':' + db_config['passwd'] + '@' + db_config['host'] + ':' + str(db_config['port']) + '/' + db + ' --flask > ' + PROJECT_PATH + 'mappers/' + db + '.py'
print(f'执行的创建model指令如下:\n{instructions}')
ret = os.popen(instructions)
print(ret.read())

脚本中包含很多我自己环境配置量,自行更改即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值