手机版
你好,游客 登录 注册
背景:
阅读新闻

SQLAlchemy 1.2.16发布,Python ORM框架

[日期:2019-01-14] 来源:Linux公社  作者:醉落红尘 [字体: ]

SQLAlchemy 1.2.16已经发布,此版本包含各种修复程序。SQLAlchemy的主要目标是改变您对数据库和SQL的思考方式!

更新日志

引擎

引擎修复了1.2版本中引入的回归,其中SQLAlchemyError基类异常类的重构在Python 2k下引入了一个不正确的纯字符串消息强制转换为Unicode,Python解释器不处理平台编码之外的字符(通常为ascii) )。 SQLAlchemyError类现在通过Py2K传递一个字节串,用于__str __(),因为异常对象的行为通常在Py2K下,对__unicode __()的反斜杠回退进行unicode utf-8的安全强制。对于Py3K,消息通常是unicode,但如果没有再次使用utf-8进行安全强制,并使用_str __()方法的反斜杠回退。

SQL

sql mysql修复了为即将推出的版本的Alembic使用DropTableComment发出的DDL对MySQL和Oracle数据库不正确的问题。

postgreql

postgresql修复了如果enum/domain的名称或模式名称需要引用,则在列反射中无法识别远程模式中存在的postgresql.ENUM或自定义域的问题。新的解析方案现在完全解析引用或非引用的令牌,包括对SQL转义引号的支持。

postgresql修复了如果多个对象在不同的​​模式名称下具有相同名称,则无法创建同一MetaData对象引用的多个postgresql.ENUM对象的问题。 PostgreSQL方言用于跟踪它是否在DDL创建序列期间在数据库中创建了特定的postgresql.ENUM的内部memoization现在考虑了模式名称。

源码

sqlite现在使用警告跳过基于SQL表达式的索引的反映,其方式与Postgresql方言相同,我们当前不支持反映其中包含SQL表达式的索引。以前,会生成一个列为None的索引,这会破坏像Alembic这样的工具。

杂项

修复了“扩展IN”功能的问题,即在查询中多次使用相同的绑定参数名称会导致在重写查询中的参数的过程中出现KeyError。

SQL数据库的行为不像对象集合,更大的尺寸和性能开始变得重要;对象集合的行为不像表和行,抽象开始越重要。 SQLAlchemy旨在适应这两个原则。

SQLAlchemy认为数据库是关系代数引擎,而不仅仅是表的集合。行不仅可以从表中选择,还可以从连接和其他选择语句中选择;任何这些单元都可以组成一个更大的结构。 SQLAlchemy的表达式语言建立在这个概念的核心之上。

SQLAlchemy以其对象关系映射器(ORM)而闻名,ORM是一个提供数据映射器模式的可选组件,其中类可以以开放式,多种方式映射到数据库 - 允许对象模型和数据库模式在从一开始就干净地脱钩。

SQLAlchemy解决这些问题的整体方法与大多数其他SQL / ORM工具完全不同,这些工具植根于所谓的以互助性为导向的方法;而不是隐藏自动化墙背后的SQL和对象关系细节,所有过程都在一系列可组合的透明工具中完全暴露。该库负责自动执行冗余任务,而开发人员仍然可以控制数据库的组织方式以及SQL的构建方式。

下载

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址https://www.linuxidc.com/Linux/2019-01/156346.htm

linux
相关资讯       SQLAlchemy 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款