我有使用语法的慢 sqlalchemy 子查询的经验Query.select_from()
。基于这种经验,我希望每次在我们的代码库中使用某些语法时都会收到警告。例如,当程序员在下面添加此代码时,我想得到警告。
q = session.query(Address).select_from(User).\
join(User.addresses).\
filter(User.name == 'ed')
是否有任何 linter 或工具可以做到这一点?
我有使用语法的慢 sqlalchemy 子查询的经验Query.select_from()
。基于这种经验,我希望每次在我们的代码库中使用某些语法时都会收到警告。例如,当程序员在下面添加此代码时,我想得到警告。
q = session.query(Address).select_from(User).\
join(User.addresses).\
filter(User.name == 'ed')
是否有任何 linter 或工具可以做到这一点?
理想情况下,您会在远程 Git 存储库托管服务器上设置一个预接收挂钩,就像这样,以便读取推送的文件并 grep 查找“ query.*\.select_from
”:如果检测到,该挂钩将拒绝推送。
如果您无权访问远程服务器(例如 GitHub),则需要设置一个webhook。
另一种方法是为所有客户端部署一个pre-push
钩子,并在那里进行检查,但这可能会被绕过,或者不能部署到每个人。
服务器端钩子/网络钩子更安全。