SQLAlchemy

软件截图:
SQLAlchemy
软件详细信息:
版本: 0.9.8
上传日期: 17 Feb 15
开发: Michael Bayer
许可: 免费
人气: 85

Rating: 3.5/5 (Total Votes: 2)

SQLAlchem​​y的是一个开源的,平台独立和自由库软件用Python编程语言和设计从地上爬起来,作为一个数据库抽象库,ORM(对象关系映射器)和SQL工具包为Python。
如果你’再一个Python开发者,SQLAlchem​​y的会给你充分的灵活性和SQL的力量,提供流行的企业级持久性模式,已专为高性能和高效率的数据库access.Features在glanceThe软件的完整集合是非常容易使用的,足够强大对于复杂的任务,和模块化。随着SQLAlchem​​y的,你将能够组织悬而未决CRUD操作,允许使用布尔表达式,功能,运营商,表的别名,UNION子句,相关EXISTS子句,创建,插入,删除和更新查询,选择子查询,相关的更新,内部和外部连接,和绑定参数。
此外,它可以用于产生数据库,以及内省它们,支持用于装载相关对象和集合,支持创建基于图形对象的透明持久性,用于操纵和构建域模型,以及支持用于同步支持所有与自动当前事务的变化。
在其他功能,我们可以提到一个关系性为导向的查询系统,大局;可公开所有SQL&rsquo的的; S功能,包括相关性,联接和子查询,一个DBAPI交互层,核心SQL建设体系,一个完整的,独立的数据库抽象层,用于扩展SQL模式元数据,表达式语言,连接池,自定义类型和类型coercion.Supports各种databasesThe方案包括方言为各种数据库服务器和引擎,包括MySQL和PostgreSQL,火鸟,甲骨文,微软支持SQL Server中,SQLite的,Sybase和其他许多人。
该项目是独立的操作系统,这意味着它可以方便的部署和任何的GNU / Linux分发使用的,以及在Microsoft Windows,BSD或Mac OS X操作系统。 32位和64位硬件体系结构,在这个时候支持

什么在此版本中是新的

  • ORM:
  • [ORM] [错误] [引擎]修复了普遍影响的事件与#3199,同一类时命名= True参数将用于错误。有些事件将无法注册,和其他人就不会调用事件参数正确,一般当一个事件是&QUOT的情况下,包裹"为适应以某种其他方式。在"命名"力学已经重新安排,以不带参数的签名预计内部包装的功能产生干扰。
  • [ORM] [错误]修正错误,影响许多类的事件,特别是ORM事件还引擎事件,其中&QUOT通常的逻辑,去复制"冗余呼叫event.listen()使用相同的参数会失败,对那些听众功能包事件。断言将在registry.py被击中。这种说法现在已经融入了重复数据删除检查,以全线检查重复数据删除的简单手段额外的奖励。
  • [ORM] [错误]修正了警告,会发出当一个复杂的自我指涉primaryjoin包含的功能,而在同一时间remote_side指定;警告建议设置"远程端&QUOT ;.它现在只发出如果remote_side不存在。
  • 在ORM声明:
  • [错误] [声明] [ORM]固定"'NoneType'对象有没有属性'具体'"在子类中声明__abstract一起使用时,AbstractConcreteBase错误__。
  • 引擎:
  • [引擎] [错误]传递到发动机或者通过create_engine.execution_options或Engine.update_execution_options()不传递给用于初始化中方言的特殊连接的执行选项"首先连接"事件;方言通常会执行此阶段他们自己的查询,并没有目前可用的选项应该在这里应用。具体地,"自动提交"选项​​是导致试图自动提交初始连接内这将有一个AttributeError失败,因为连接的不规范状态。
  • [发动机] [错误],用于确定受影响为INSERT或UPDATE列的字符串密钥现在排序时朝向&QUOT贡献;编译缓存"缓存键。这些键以前不确定性下令,意思相同的语句等效键可以被缓存多次,无论是在内存方面的成本以及性能。
  • 在SQL:
  • [SQL] [错误]修正了在SQL包中的SQL元素相当数量将无法成功__repr __(),由于缺少描述属性将然后调用一个递归溢出当内部AttributeError的会再重新-invoke __repr __()。
  • [SQL] [错误]表/索引反射的调整,例如,如果一个索引报告未发现存在表中的一列,警告发出后,该列被跳过。因为已经观察到甲骨文可能发生这种情况对一些特殊的系统栏的情况。
  • [SQL] [错误]其中literal_binds编译器参数的CTE修正错误不会总是正确传播,当一个CTE提到另一个别名CTE在一份声明中。
  • [SQL] [错误]修正0.9.7回归与一误命名单元测试结合引起#3067,使得所谓的QUOT;模式"类型,如布尔和枚举不能再腌。
  • 在PostgreSQL的:
  • [PostgreSQL的] [功能] [pg8000]支持是&QUOT增加;健全多行数和QUOT;与pg8000驱动程序,它主要适用于使用版本的ORM时。该功能是版本检测基于pg8000 14年9月1日或更大在使用中。拉要求礼貌托尼·洛克。
  • [PostgreSQL的] [错误]一个重新审视这个问题在0.9.5补丁第一,显然psycopg2的.closed访问并不像我们认为的可靠的,所以我们增加了一个明确的检查异常消息" SSL SYSCALL错误:坏的文件描述符"和" SSL SYSCALL错误:EOF检测"检测一个IS-断开的情况时。我们会继续咨询psycopg2的connection.closed作为第一检查。
  • [PostgreSQL的] [错误]修正了PostgreSQL的JSON类型无法坚持或以其他方式使一个SQL NULL列值,而不是一个JSON编码的'空'。为了支持这种情况下,变化如下:
  • 在null值()现在可以指定,这将总是导致一个NULL值造成的声明。
  • 在JSON.none_as_null添加一个新的参数,它真时表明了Python无值应为peristed SQL NULL,而不是JSON编码的'空'。
  • 的NULL Retrival为无还修复了DBAPIs比psycopg2,即pg8000等。
  • [PostgreSQL的] [错误]为DBAPI错误现在可以容纳非标准DBAPI例外,如psycopg2 TransactionRollbackError异常包装系统。这些异常现在将使用在sqlalchem​​y.exc最接近的可用子凸起,在TransactionRollbackError,sqlalchem​​y.exc.OperationalError的情况下
  • [PostgreSQL的] [错误]在postgresql.array对象,其中比较普通的Python列表将无法使用正确的数组构造修正错误。拉请求,礼貌安德鲁。
  • [PostgreSQL的] [错误]增加支持FunctionElement.alias()方法的功能,例如:在FUNC结构。此前,对于这种方法的行为是不确定的。当前的行为模仿的预0.9.4,这是该函数变成了单柱FROM子句给定的别名,其中列本身是匿名的名字命名。
  • MySQL的:
  • [MySQL的] [错误] [mysqlconnector] Mysqlconnector为2.0版本,可能是因为蟒蛇3合并的副作用,现在不指望百分号(例如,作为用作模运算符等)增加一倍,即使当使用" pyformat"绑定参数格式(这种变化不是由Mysqlconnector记录)。方言现在检查py2k和mysqlconnector低于2.0时,如果检测模操作应呈现为%%或%。
  • [MySQL的] [错误] [mysqlconnector]的Unicode SQL现在过去了MySQLconnector版本2.0及以上;为Py2k和MySQL< 2.0,串编码。
  • 在SQLite的:
  • [源码] [错误]使用连接的数据库文件,在cursor.description中为“dbname.tablename.colname”的pysqlite驱动程序报告列名来自UNION选择,而不是'tablename.colname“当,因为它一般不会对于UNION(注意它应该只是“colname需要'两个,但我们解决它)。此处列翻译逻辑已经被调整以检索最右边的标记,而不是所述第二令牌,因此它可以在这两种情况下。解决方法礼貌托尼·罗伯茨。
  • 在MSSQL:
  • [MSSQL] [错误]修正版本字符串检测的pymssql方言与微软SQL Azure的,这会改变单词QUOT工作; SQL服务器"到" SQL Azure的"
  • 在神谕:
  • [甲骨文] [错误]固定长期的臭虫在甲骨文的方言,其中以数字开始约束参数名称将不会被引用,因为Oracle不喜欢绑定参数名称数字及符号。
  • 在杂项:
  • [错误] [声明]修正了一些异国情调的最终用户的设置,这里的企图,以检查和QUOT观察到一个不太可能的竞争条件;重复的类名"在声明会想出一个不完全,清理后的弱引用有关被删除了一些其他类;这里检查现在确保呼吁进一步前weakref仍然引用一个对象。
  • [错误] [转]在哪里订购项目的顺序收集过程中会被揭去更换事件,如果reorder_on_append标志被设置为True列表修正错误。修复程序确保了排序列表仅影响是显式与对象相关联的列表中。
  • [错误] [转]修正了ext.mutable.MutableDict没有执行的update()字典法,因此不捕的变化。拉要求礼貌马特·奇泽姆。
  • [错误] [转]修正了ext.mutable.MutableDict的自定义子类就不会在出现一个"强迫"操作,而会返回一个普通的ext.mutable.MutableDict。拉要求礼貌马特·奇泽姆。
  • [错误] [池]其中&QUOT的连接池记录修正错误;连接检出"调试日志消息将不会发射,如果日志被设置为使用logging.setLevel(),而不是使用echo_pool标志。测试,以断言这种日志记录已被添加。这是在0.9.0引入了回归。

什么是0.5.0版本,新的

  • 新功能
  • 一般
  • 文档已被转换为狮身人面像。尤其是,生成的API文档已经被建设成为一个完全成熟的" API参考和QUOT;其中部分组织编辑的文档结合产生的文档字符串。段和API文档之间的交联的大幅提高,提供了一个JavaScript肉搜索功能,并提供了所有的类,函数和成员完整的索引。
  • 在setup.py现在进口setuptools的唯一可选。如果不存在,distutils来被使用。新" PIP"安装建议在easy_install的,因为它更简单的方式安装。
  • 加入了PostGIS的整合的实例文件夹的一个非常基本的例子。
  • 在ORM
  • 在Query.with_polymorphic()现在接受第三个参数"鉴"将取代mapper.polymorphic_on的值对于该查询。映射器本身不再需要polymorphic_on要设置,即使映射器具有polymorphic_identity。当没有设置,该映射器将默认负载非多态。总之,这两个功能允许非多态性的具体继承设置为使用多态装载在每个查询的基础上,因为具体的设置很容易出现许多问题在所有情况下使用多态时。
  • 在dynamic_loader接受query_class =定制用于动态集合,并从中建立查询两种查询类。
  • 在query.order_by()接受无它将从查询中删除任何未决ORDER_BY状态,以及抵消任何映射/关系配置顺序。这是为覆盖()一dynamic_loader指定的顺序主要是有用的。 [票:1079]
  • 在SQL
  • RowProxy对象可以代替送到connection.execute字典参数()和朋友一起使用。 [门票:935]
  • 方言
  • 补充说明用于处理元数据时编码该列名的方言新description_encoding属性。这通常默认为UTF-8。
  • 在MSSQL
  • 添加一个新的MSGenericBinary类型。这映射到二进制类型,以便它可以实现处理规定长度类型为固定宽度的二进制类型和非长类型为未绑定的可变长度二进制类型的专业行为。
  • 在添加新的类型:MSVarBinary和MSImage。 [票:1249]
  • 新增的MSReal,MSNText,MSSmallDateTime,MSTime,MSDateTimeOffset和MSDateTime2类型
  • 在sqlite的
  • 在表反映现在存储列的实际DefaultClause值。 [票:1266]
  • 在错误修正,行为改变
  • 一般
  • 在ORM
  • 在期间compile_mappers抛出的异常()现在被保存为"粘性行为和QUOT;
  • 如果在预编译的映射属性的hasattr()调用触发一个失败的编译和抑制异常,随后编译封锁,除了将在明年编译()调用重申。使用声明时,经常会出现这个问题。
  • property.of_type()是目前公认的单表继承目标,在prop.of_type(..)的上下文中使用时,任何()/有(),以及query.join(道具。 of_type(...))。
  • 在query.join()提出了一个错误时的目标连接不匹配基于属性的属性
  • 而这是不可能的人是这样做的,在SQLAlchem​​y的作者是犯了这个特殊的loosey-说傻话行为。
  • 在使用weak_instance_map时修正错误= false其中修改的事件将不会被截获的冲洗()。 [票:1272]
  • 修正了一些深层次的"列对应"这可能会影响针对某包含多个版本的同一表中的可选择的一个查询的问题,以及其中包含的相同的表列中的不同层次的不同列位置工会和类似。 [票:1268]
  • 一起使用column_property自比较器类(),关系()等可以定义在比较新的比较方法,这将成为可通过__getattr __()上InstrumentedAttribute。在同义词()或co​​mparable_property()的情况下,属性的用户定义的描述符首先解决了,然后在用户定义比较器。
  • 添加ScopedSession.is_active访问。 [门票:976]
  • 可以通过映射属性和列对象作为键query.update({})。 [票:1262]
  • 传递到的表达水平插入的值()()或更新(映射属性)将使​​用映射属性的映射列的键不是
  • 修正问题Query.delete()和Query.update()不正常使用绑定的参数。 [票:1242]
  • 在Query.select_from(),from_statement()保证给定的参数是一个FromClause或文本/选择/联盟,分别为。
  • 在查询()可以传递一个"复合材料"属性作为列表达式,它会被扩大。有些相关[门票:1253]。
  • 在查询()是一个小更强大的时候通过各种列表达式如字符串,clauselists,文本()结构(这可能意味着它只是更多好听引发错误)。
  • 在第()预期与Query.from_statement()的作品。
  • 在0.5rc4推出修正了涉及预先加载不正常而获通过add_property()或相当于添加到映射后的编译性能。
  • 修正了许多一对多的关系()与viewonly =真不会正确地引用链接之间secondary->远程

  • 发出INSERT语句时在基于列表的集合
  • 在重复的项目将继续维持"第二"表在一个多对多的关系。假设M2M表上有一个唯一或主键约束,这将提高默默丢弃重复条目预期违反约束代替。需要注意的是旧的行为仍然是一个一对多的关系,因为在这种情况下,采集的条目不会导致INSERT语句和SQLA没有手动报警集合。 [票:1232]
  • Query.add_column()可以接受的方式相同session.query FromClause对象()即可。
  • 在很多一对一的关系,以NULL是正确地转换为比较IS NOT NULL基于不_()。
  • 添加,以保证明确primaryjoin / secondaryjoin额外的检查是ClauseElement情况下,以防止以后更加混乱的错误。 [票:1087]
  • 在改进映射器()检查无级类。 [票:1236]
  • 在comparator_factory的说法,现在的文档和支持所有MapperProperty类型,包括column_property(),关系(),backref()和同义词()门票:5051]。
  • 更名PropertyLoader到RelationProperty,要与所有其他名称一致。 PropertyLoader仍然存在的代名词。
  • 在固定"双热核实验堆()"电话引起总线错误的碎片API,​​删除错误的result.close()从0.4版本遗留下来的。 [票:1099] [票:1228]
  • 在做Session.merge瀑布不会触发自动冲洗。修复合并实例越来越提前插入缺失值。
  • 在两个补丁,以帮助防止出带外列从polymorphic_union继承场景渲染(然后会导致额外的表在FROM子句中导致笛卡尔产品被渲染):
  • 在改进"列适应"对于A-> B-> C。继承的情况,以便更好地定位是通过多级间接的,而不是呈现非适于柱彼此相关的列
  • 的"多态性鉴别与QUOT;列仅呈现为实际映射器被查询对。列将不与QUOT;拉"从子类,或者因为它并不需要超映射器。
  • 在ShardedSession.execute固定shard_id参数()。 [票:1072]
  • 在SQL
  • 在列可以再次包含他们的名字中百分号。 [票:1256]
  • 在sqlalchem​​y.sql.expression.Function现在是一个公共类。它可以被继承,提供用户自定义的SQL函数命令式的风格,包括预先建立的行为。该postgis.py例子说明了一个使用了这一点。
  • PickleType现在倾向于默认==比较,如果传入对象(如一个字典)实现__eq __()。如果对象不实现__eq __()和可变=真,一个弃用出现警告。
  • 修正了进口古怪的sqlalchem​​y.sql不出口__names__。[票:1215]
  • 在反复使用同一个ForeignKey的对象提出了后来默默失败的错误信息。 [票:1238]

  • 在插入/更新
  • 在添加NotImplementedError的PARAMS()方法/删除结构。这些项目目前不支持此功能,这比起值()也将是一个有点误导。
  • 在反映外键将正确地定位自己引用的列,即使列被赋予了"键"从属性的反映名称不同。这是通过在ForeignKey的/ ForeignKeyConstraint一个新的标志来实现所谓的" link_to_name",如果真指给定的名字是提及到列的名称,而不是分配给它的键。 [门票:650]
  • 选择()可以接受一个ClauseList如以同样的方式作为一个表或其他可选择的和内部的表达式的列将被用作列元素。 [票:1253]
  • 的"被动"旗session.is_modified()是正确传播到属性管理器。
  • 在工会()和union_all()将不会重击任何ORDER_BY()已被应用于选择()■里面。如果工会()的select()与ORDER_BY()(大概是为了支持LIMIT / OFFSET),你也应该叫self_group()就可以申请括号。
  • 在发动机/游泳池
  • 在Connection.invalidate()检查封闭的状态,以避免属性错误。 [票:1246]
  • 在NullPool支持重新连接失败的行为。 [票:1094]
  • 在使用pool.manage(DBAPI)时增加了一个互斥体的初始池创建。这可以防止&QUOT未成年人的情况下,Dogpile网站"行为这将在重负载启动,否则会发生。 [门票:799]
  • 在_execute_clauseelement()可以追溯到作为一个私有方法。子类连接不需要现在ConnectionProxy是可用的。
  • 在文件
  • 在门票[票:1200] [门票:1149]。
  • 在约和create_session补充说明()的默认值。
  • 在约metadata.reflect新增部分()。
  • 在更新`TypeDecorator`部分。
  • 在改写了" ThreadLocal的"该文档由于近期混乱此功能的策略部分。
  • 在删除严重过时“polymorphic_fetch”,并从继承“select_table”文档中,重新设计的&QUOT下半年,加入了表继承"
  • 在记录在案`comparator_factory` kwarg,增加了新的文档节"定制比较"
  • 在MSSQL
  • 在重构的日期/时间类型。在``smalldatetime``数据类型不再截断到仅一个日期,并且现在将映射到MSSmallDateTime类型。 [票:1254]
  • 修正了一个问题,数字及符号接受一个int。
  • 在映射``char_length``到``LEN()``函数。
  • 如果一个``INSERT``包括子选择了``INSERT``从转换的``INSERT INTO VALUES``构建了``INSERT INTO SELECT``结构。
  • 如果该列是``primary_key``这将是``不NULL``因为MSSQL不允许``NULL``在primary_key列。
  • 的一部分
  • ``MSBinary``现在返回,而不是``IMAGE``了``BINARY``。这是在一个向后不兼容的变化``BINARY``是一个固定长度的数据类型而``IMAGE``是可变长度的数据类型。 [票:1249]
  • ``get_default_schema_name``现在反映从基于用户的默认模式的数据库。这仅适用于MSSQL 2005及更高版本。 [票:1258]
  • 在通过使用一个新的排序规则的说法增加了整理的支持。这是支持以下几种类型:CHAR,NCHAR,VARCHAR,NVARCHAR,文字,NTEXT。 [票:1248]
  • 在更改连接字符串参数青睐DSN作为默认规范pyodbc。看到mssql.py文档字符串详细的使用说明。
  • 在增加了实验的支持保存点。目前,它不完全会话使用。
  • 在支持三级列的为空的:NULL,NOT NULL,并且数据库的默认配置。默认列配置(可为空=真)现在将产生NULL的DDL。先前没有规范被发射并且数据库缺省将生效(通常为NULL,但不总是)。要明确要求数据库默认情况下,配置栏可空=无,没有规范将在DDL发射。这是向后兼容的行为。 [票:1243]
  • 的Postgres
  • "%"在文字符号()构造自动逃到" %%&QUOT ;.由于这种变化的向后兼容的特性,一个警告,如果'%%'的字符串中探测的发射。 [票:1267]
  • 在调用alias.execute()连同server_side_cursors不会提高AttributeError异常。
  • 来的Pos​​tgres增加指数反映的支持,用一个伟大的补丁,我们长期忽视,提交由肯·库尔曼。 [门票:714]
  • 在甲骨文
  • 在调整create_xid的格式()来修复两阶段提交。我们现在有甲骨文两阶段提交正常工作与这种变化的现场报告。
  • 添加OracleNVarchar型,生产NVARCHAR2,也Unicode的子类,这样convert_unicode =真默认。 NVARCHAR2自动反映到这个类型,以便这些列传递Unicode上反映表没有明确convert_unicode =真正的标志。 [票:1233]
  • 修正错误这是防止某些类型的不被接受的PARAMS;由于一吨huddlej在wwu.edu! [票:1265]
  • 在MySQL的
  • "%"在文字符号()构造自动逃到" %%&QUOT ;.由于这种变化的向后兼容的特性,一个警告,如果'%%'的字符串中探测的发射。
  • 在异常升高修正了当反射过程中不存在FK列。 [票:1241]

  • 涉及远程架构表的反射与外键参考到另一个表中该模式
  • 修正了。
  • 在associationproxy
  • 在该协会的代理属性使自己可以在类的级别,如MyClass.aproxy。此前该评估为无。
  • 在声明
  • 在参数被backref接受字符串()的完整列表,包括“primaryjoin','secondaryjoin”,“二级”,“foreign_keys','remote_side','ORDER_BY'。

要求

  • 在Python中

类似的软件

RedQueryBuilder
RedQueryBuilder

28 Sep 15

Yada
Yada

2 Jun 15

trombi
trombi

12 May 15

意见 SQLAlchemy

评论没有发现
添加评论
打开图片!