不带orm的python sql和简单的迁移

baconql的Python项目详细描述


baconql
=


[![构建状态](https://travis-ci.org/lsenta/baconql.svg?branch=master)(https://travis ci.org/lsenta/baconql)

[![覆盖状态](https://coveralls.io/repos/github/lsenta/baconql/badge.svg?branch=master)(https://coveralls.io/github/lsenta/baconql?branch=master)




它提供了:

-一个没有orm或怪异python dsl的sql接口,
-一个简单的迁移系统,不需要模板。





尝试以下操作:
搜索“orm bad”。你读过这些文章吗?
然后,搜索“python sql”或“python sql without orm”。orms、orms和orms。

baconql试图提供一个无orm的库来与关系数据库进行交互。它不需要做抽象的工作,也不需要学习特定的python语法。你写sql,你就执行sql。

-baconql认为,在使用关系数据库时,sql是一个合适的工具。python dsl不算数。
-baconql在您的sql文件中使用简单的约定来定义(在编译时)
python模块中的数据库函数,
创建python和sql代码的干净分离。
-(这是从hugsql中偷来的,请参阅下面的注释)它提供:



:s
从用户中选择计数(*)


--列出全部:?:*
从用户中选择*

```


这是一个普通的sql文件,您的编辑器已经知道如何处理它并为您自动完成它。


baconql生成一个“user s.py”文件,您可以导入并“assert user.count(db)==42`.

但基本上:

-one file=one module
-one block=description header+sql body
-description header=name+操作类型(查询、变异、返回)+结果的基数(一个、多个、标量、受影响)






还有跟踪。

WIP。



所以sqlalchemy提供了与数据库交互的基础知识。
我想用一个更集中的库来代替它。处理打字似乎是一个棘手的部分。

如果你深入了解内部,你会发现它更多的是一个快速和肮脏的poc,而不是一个好的
思想的代码库。无论评论和问题是好是坏,我们都将非常感谢。

compatible
-[]设置许可证
-[]缩短本自述文件,添加用法文档和演示,
-[]找到避免重复每个参数类型的解决方案
-分析SQL以找出输入?
-允许用户提供默认的输入/输出映射,例如在执行“select*”时使用。
-[]add option为模块指定docstring和前缀(特殊导入)
-[]干净解析阶段,可能使用实语法(?),
-[]异常系统,以一致的方式增加行号,
-[]更多单元测试,
-[x]pypi ize,
-[]分成两个不同的项目。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JPA。Eclipselink没有为mySQL提供密码,但它应该提供   我的Servlet和@FormDataParam存在java问题   java将什么作为上下文参数传递到文件I/O方法中?   如果两个值相同,java无法找到其中一个单选按钮   java在变量和方法名中使用下划线   JavaSpringMVC单线程安全?   klazz类的java Arraylist(反射Api)   java如何在数字字符串中查找最频繁的数字?   JavaAPI设计:使数据更易于阅读与强制更多API调用   JavaHadoopMapReduceforGoogleWebGraph   java无法启动gauge API:Runner意外退出   java如何在bluemix上使用ibm工作负载调度器?   拉取一年中某一周特定日期的所有日期   java为什么是我的角节点。js应用程序将图像上传到S3� 邮递员正确上传时的符号?   在不使用任何第三方jar的情况下将文件从本地传输到linux系统(java代码)   java将现有文件夹复制到Eclipse工作区中新创建的项目中   Java中的regex RegExp帮助   当使用“系统”外观时,Java组合框setSelectedItem会出现故障   JavaASM:在类的方法中获取局部变量名和值