0.2换热器
0.2.8
Released: Tue Sep 05 2006[no_tags] ¶
清除连接方法+文档。在查询字符串中指定的自定义DBAPI参数“connect-args”参数到“create-engine”,或通过“creator”函数到“create-engine”的自定义创建函数。
[no_tags] ¶
将“recycle”参数添加到pool,在create_引擎上是“pool_recycle”,默认为3600秒;此时间之后的连接将关闭并替换为新的连接,以处理自动关闭过时连接的db
References: #274
[no_tags] ¶
用池连接更改了“使语义无效”;将指示基础连接记录在下次调用时重新连接。如果在对connection.cursor()的基础调用中引发任何错误,也将自动调用invalidate。希望这将允许连接池重新连接到已停止并启动的数据库,而不重新启动连接应用程序。
References: #121
[no_tags] ¶
哎呀!辅导医生考试被打破了相当长的一段时间。
[no_tags] ¶
如果给定的属性引用了未编译的映射器,则在映射器上的add_property()方法将执行“编译所有映射器”步骤(与教程中的方法相同!)
[no_tags] ¶
创建前检查PG序列是否已存在
References: #277
[no_tags] ¶
如果上下文会话是通过mapperextension.get_会话建立的(因为它使用的是sessionContext插件等),则如果父对象未与会话保持一致,则默认情况下,惰性加载操作将使用该会话。
[no_tags] ¶
对于没有数据库标识的对象,惰性加载不会启动(为什么?请参阅https://www.sqlalchemy.org/trac/wiki/WhyDontForeignKeysLoadData)
[no_tags] ¶
工作单元可以更好地检查作为“删除孤立对象”级联一部分的“孤立”对象,以确定父对象不可从中级联的某些条件。
[no_tags] ¶
映射器可以根据与属性包的交互来判断其中一个对象是否是“孤立的”。此检查基于当对象彼此附加和分离时为每个关系维护的状态标志。
[no_tags] ¶
现在,声明与“删除孤立项”的自引用关系是无效的(因为上述检查将使它们无法保存)
[no_tags] ¶
改进了在工作单元寻求将对象作为关系的一部分刷新()时对作为会话一部分的对象的检查。
[no_tags] ¶
语句执行支持在表达式中多次使用同一bindparam对象;位置参数的简化处理。比尔·诺恩做得很好,想出了基本的想法。
References: #280
[no_tags] ¶
Postgres反射移动到使用pg_模式表,可以用use_information_schema=true参数覆盖以创建_引擎。
[no_tags] ¶
将区分大小写的参数添加到元数据、表、列中,根据父架构项的标志是否具有非无设置自动确定自身;如果没有,则根据标识符名称是否都是小写。当设置为真时,引用将应用于具有混合或大写标识符的标识符。在所有情况下,引用也会自动应用于已知为保留字或包含其他非标准字符的标识符。各种数据库方言可以覆盖所有这些行为,但目前它们都使用默认行为。使用postgres、mysql、sqlite、oracle进行测试。需要使用Firebird、MS SQL进行更多测试。正在进行的工作的一部分
References: #155
[no_tags] ¶
单元测试更新为在未安装任何pysqlite的情况下运行;池测试使用模拟DBAPI
[no_tags] ¶
URL支持密码中的转义字符
References: #281
[no_tags] ¶
为联合查询添加了限制/偏移量(尽管在Oracle中尚未添加)
[no_tags] ¶
在日期时间和时间类型中添加了“timezone=true”标志。到目前为止,Postgres会将此转换为“时间” [STAMP] (使用不使用)时区“,这样对时区存在的控制就更为可控(psycopg2返回带有TZINFO的日期时间(如果可用),这可能会与没有的日期时间产生混淆)。
[no_tags] ¶
修复为使用带有distinct的query.count(), * *带selectresults count()的Kwargs
References: #287
[no_tags] ¶
当自动加载失败时,从元数据中注销表;
References: #289
[no_tags] ¶
导入py2.5s sqlite3
References: #293
[no_tags] ¶
StartsWith()/EndsWith()的Unicode修复
References: #296
0.2.7
Released: Sat Aug 12 2006[no_tags] ¶
设置引用功能,以便在所有查询/创建/删除中使用时,可以为单个表、架构和列标识符打开特定于数据库的引用。通过表或列中的“quote=true”以及表中的“quote_schema=true”启用。感谢亚伦·斯派克的出色努力。
[no_tags] ¶
assignmapper was setting is_primary=true,cause all sory mayem by not raising an error when redundant mapper was setting,fixed
[no_tags] ¶
向映射器添加了allow u null pks选项,允许一些主键列为空的行(即当映射到外部联接等时)
[no_tags] ¶
修改UnitOfWork,使其不在“新建”列表或UOWTSK“对象”列表中保持排序;相反,新对象在注册为会话的新对象时使用排序标识符进行标记,然后在映射器save_obj中对insert语句进行排序。插入顺序基本上一直被推到刷新周期的末尾。这样,UOWTSK中发生的各种类型和组织(尤其是循环任务排序)就不必担心维护顺序(无论如何它们都不是这样)。
[no_tags] ¶
修复了外键的反射,以便在尚未加载被引用表时自动加载该表
[no_tags] ¶
将url查询字符串参数传递给connect()函数
References: #256
[no_tags] ¶
Oracle布尔类型
References: #257
[no_tags] ¶
关系中的自定义主/辅助联接条件 will 默认情况下传播到backrefs。指定backRef()将重写此行为。
[no_tags] ¶
更好地检查sql.join中是否存在不明确的连接条件;当无法合理确定连接条件时,会传播到propertyloader(即relation()/backref())中更好的错误消息。
[no_tags] ¶
SQLite在表反射时正确创建ForeignKeyConstraint对象。
[no_tags] ¶
由于对所做的更改而对池进行的调整。只有在连接实际成功时,溢出计数器才应递减。添加了一个测试脚本以尝试测试此。
References: #224
[no_tags] ¶
将默认值的mysql反射固定为passivedefault
[no_tags] ¶
在MS-SQL中添加了反射的“tinyint”、“mediumnt”类型。
[no_tags] ¶
singletonthreadpool有一个大小并执行清理过程,因此只有给定数量的线程本地连接可以保留(对于集中处理线程的sqlite应用程序是必需的)
[no_tags] ¶
用懒惰的装载机修复了小的腌菜错误
[no_tags] ¶
修复了MySQL反射中某些版本返回数组而不是用于show create table调用的字符串时可能出现的错误
[no_tags] ¶
映射到联接时固定到延迟加载
References: #1770
[no_tags] ¶
所有create()/drop()调用都有一个关键字参数“connectable”。发动机”已弃用。
[no_tags] ¶
修复了MS SQL Connect()与ADODABPI一起使用的问题
[no_tags] ¶
为select()添加了“nowait”标志
[no_tags] ¶
继承检查使用issubclass()而不是direct __mro__ 检查以确保类A继承自B,允许映射器继承更灵活地对应于类继承。
References: #271
[no_tags] ¶
当对具有order by子句的selectresults调用聚合(即max、min等)时,selectresults将使用嵌套select。
References: #252
[no_tags] ¶
对类型进行修复,以便更容易使用特定于数据库的类型;对MySQL文本类型进行修复,以便使用此方法
References: #269
[no_tags] ¶
对sqlite日期类型组织的一些修复
[no_tags] ¶
已将mstinyinteger添加到ms-sql
References: #263
0.2.6
Released: Thu Jul 20 2006[no_tags] ¶
通过新的foreignkeyconstraint和primarykeyconstraint对象,对模式进行大修改,允许真正组合主键和外键约束。尚未更改创建主键/外键的现有方法,但在幕后使用这些新对象。表的创建和反射现在更加面向表而不是面向列。
References: #76
[no_tags] ¶
对mapperextension调用方案的彻底修改,以前工作得不太好
[no_tags] ¶
调整到ActiveMapper,支持自引用关系
[no_tags] ¶
稍微重新排列到ObjectStore(在ActiveMapper/ThreadLocal中),使sessionContext被“.context”引用,而不是直接子类化。
[no_tags] ¶
如果导入activemapper时mod被激活,activemapper将使用threadlocal的objectstore。
[no_tags] ¶
对url regexp进行小修复,以允许文件名中包含“@”
[no_tags] ¶
对会话清除/更新等的修复…需要更多的清理。
[no_tags] ¶
选择表格映射器 仍然 不是一直在编译
[no_tags] ¶
修复了布尔数据类型
[no_tags] ¶
向assignmapper代理的方法列表中添加count()/count_by();这也将它们添加到activemapper
[no_tags] ¶
dbapierror中包含的连接异常
[no_tags] ¶
如果您提供一个 __autoload__ =true属性。目前,这不支持反映任何关系。
[no_tags] ¶
延迟的列加载可能会导致flush()中的连接状态出错。在某些情况下,这是固定的
[no_tags] ¶
expunge()无法处理cascade,已修复。
[no_tags] ¶
级联操作中潜在的无限循环已修复。
[no_tags] ¶
添加了“synonym()”函数,该函数应用于属性以使propname与另一个propname相同,以覆盖props并允许在select_by()中访问原始propname。
[no_tags] ¶
修正了子句构造中的类型,它专门帮助多态联合出现类型问题(cast/columnclause将其类型传播到代理列)
[no_tags] ¶
映射器编译工作正在进行中,总有一天它会工作……在创建所有映射器以更好地处理循环编译之后,围绕着映射器属性对象的初始化移动。现在对所有的属性调用do_init()方法,如果是这样的话,这些属性会更加了解它们的“继承”状态。
[no_tags] ¶
在自引用关系或到继承映射器的关系(也是自引用关系)上显式不允许预加载。
[no_tags] ¶
减少了查询中的绑定参数大小。
References: #244
[no_tags] ¶
向table.create()/table.drop()以及table.exists()添加了“checkfirst”参数
References: #234
[no_tags] ¶
对继承的其他一些正在进行的修复
References: #245
[no_tags] ¶
属性/backref/orphan/history跟踪调整与往常一样…
0.2.5
Released: Sat Jul 08 2006[no_tags] ¶
修正了select_by()中的无限循环错误,如果遍历命中了彼此引用的两个映射器
[no_tags] ¶
升级了所有UnitTests以将“./lib/”插入sys.path中,处理新的setuptools pythonpath终止行为
[no_tags] ¶
使用属性/依赖项等进一步修复…
[no_tags] ¶
改进了在未连接DynamicMetadata时的错误处理
[no_tags] ¶
MS-SQL支持主要工作(使用pymssql测试)
[no_tags] ¶
组内更新和删除语句的顺序现在是按主键值的顺序排列的,以便更确定地排序。
[no_tags] ¶
在插入/删除/更新映射器扩展之后,现在对每个对象调用,而不是对每个表的每个对象调用
[no_tags] ¶
映射器编译的进一步修复/重构
0.2.4
Released: Tue Jun 27 2006[no_tags] ¶
尝试/映射器设置时除外 init.__name__ 在映射类上,支持python 2.3
[no_tags] ¶
修复了线程本地引擎在事务处理过程中仍然自动提交的错误。
[no_tags] ¶
延迟加载和延迟加载操作要求父对象在会话中执行该操作;而在该操作只返回空列表或不返回空列表之前,它现在会引发异常。
[no_tags] ¶
如果给定对象以前附加到的会话被垃圾收集,则session.update()稍微宽松一些;否则,仍然需要显式地从上一个会话中删除该实例。
[no_tags] ¶
修复映射器编译,检查更多错误条件
[no_tags] ¶
小补丁到预加载结合订购/限制/偏移
[no_tags] ¶
非常值得注意的是:在“create table”和“(<the restrict of it>”之间添加了一个空格,因为 that's how MySQL indicates a non- reserved word tablename.....
References: #206
[no_tags] ¶
更多对继承的修复,与正确保存的多对多关系相关
[no_tags] ¶
修复了将显式模块指定为MySQL方言时的错误
[no_tags] ¶
当QueuePool超时时,它将引发TimeoutError,而不是错误地进行另一个连接。
[no_tags] ¶
队列。池中的队列使用已替换为本地修改的版本(适用于PY2.3/2.4!)它使用threading.rlock作为互斥对象。这是为了修复一个报告的情况,即在队列的get()方法中调用了ConnectionFairy的del_uuu()方法,然后通过put()方法返回其到队列的连接,除非使用threading.rlock,否则会导致重入挂起。
[no_tags] ¶
如果主键列具有外键约束,Postgres将不会在其上放置串行关键字。
[no_tags] ¶
connectionFairy上的cursor()方法允许传播特定于db的扩展参数
References: #221
[no_tags] ¶
延迟加载绑定参数正确传播列类型
References: #225
[no_tags] ¶
新的MySQL类型:msenum、mstinytext、msmediumtext、mslongext等。更多支持数字类型中特定于ms的长度/精度参数修补程序,由Mike Bernson提供
[no_tags] ¶
对连接池的某些修复使()无效
References: #224
0.2.3
Released: Sat Jun 17 2006[no_tags] ¶
要推迟对映射器编译的大修。这允许以任何顺序构造映射器,并在首次使用映射器时编译它们之间的关系。
[no_tags] ¶
修正了级联行为中一个相当大的速度瓶颈,特别是在使用backrefs时。
[no_tags] ¶
属性检测模块已经被完全重写;它现在大大简化和清晰,速度稍快。属性的“历史记录”不再是每个更改的微观管理,而是在首次加载实例时创建的“committedState”对象的一部分。HistoryArraySet已经不存在了,列表属性的行为现在更加开放(即它们不再是集合)。
[no_tags] ¶
PY2.4内部使用的“set”构造返回到set。当“set”不可用/需要排序时设置。
[no_tags] ¶
修复到事务控制,以便重复的rollback()调用不会失败(当flush()在更大的try/except事务块中引发异常时失败非常严重)
[no_tags] ¶
relation()的“foreignkey”参数也可以是列表。固定式自动钥匙检测
References: #151
[no_tags] ¶
修复了在元数据对象中没有正确索引具有架构名称的表的错误。
[no_tags] ¶
修复了在resultproxy中重新定义了“key”属性的列未进行类型转换的错误。
References: #207
[no_tags] ¶
将url的“port”属性固定为整数(如果存在)
[no_tags] ¶
修复了旧错误,如果映射为“辅助”的多对多表具有额外的列,则删除操作不起作用。
[no_tags] ¶
针对联合查询映射的错误修复
[no_tags] ¶
修复了在不存在db驱动程序时引发的错误异常类
[no_tags] ¶
添加了反映不存在的表时引发的不存在的异常
References: #138
[no_tags] ¶
关于一对一的backrefs和其他重构,对activemapper的小修复
[no_tags] ¶
映射类中的重写构造函数获取 __name__ 和 __doc__ 从原始类
[no_tags] ¶
修复了selectresult.py中有关映射器扩展的小错误
References: #200
[no_tags] ¶
对层叠映射器的小调整,目前不太支持函数
[no_tags] ¶
对between()、column.between()进行了一些修复,以便更好地传播键入信息
References: #202
[no_tags] ¶
如果无法构造对象,则不会将其添加到会话中
References: #203
[no_tags] ¶
cast函数已经用自己的编译函数在ansicompiler中生成了自己的子句对象;由于MySQL似乎只支持日期类型的标准cast语法,因此允许MySQL静默地忽略大多数cast调用。mysql兼容的字符串、ints等强制转换支持todo
0.2.2
Released: Mon Jun 05 2006[no_tags] ¶
多态继承行为的重大改进,使其能够与邻接列表表结构一起工作
References: #190
[no_tags] ¶
主要修复和重构继承关系总体上,更多的单元测试
[no_tags] ¶
修复了create_engine()上的“echo池”标志
[no_tags] ¶
修复到文档,删除了close()不安全的错误信息,与threadlocal策略一起使用(完全安全!)
[no_tags] ¶
create_engine()可以将URL作为字符串或Unicode
References: #188
[no_tags] ¶
Firebird支持部分完成;感谢James Ralston和Brad Clements的努力。
[no_tags] ¶
Oracle URL转换已中断,已修复,将主机/端口/sid馈送到cx_oracle makedsn()中,如果存在“database”字段,则使用“host”字段中的直接tns名称。
[no_tags] ¶
修复为query.get()/query.load()使用Unicode标准
[no_tags] ¶
可选择项上的count()函数现在使用表主键或第一列而不是“1”作为条件,还使用标签“rowcount”而不是“count”。
[no_tags] ¶
清理了基本的“映射到多个表”功能,更准确地记录了这些功能
[no_tags] ¶
已还原全局_connect()函数,附加到名为“default_metadata”的dynamicmetadata实例。将元数据参数保留为表输出将使用默认元数据。
[no_tags] ¶
对会话级联行为、实体名称传播的修复
[no_tags] ¶
将UnitTests重新组织为子目录
[no_tags] ¶
对线程本地连接嵌套模式的更多修复
0.2.1
Released: Mon May 29 2006[no_tags] ¶
创建_engine()的“pool”参数正确传播
[no_tags] ¶
对url的修复,如果不进行分析会引发异常,不会将空白字段传递给db connect字符串(在postgres上中断user:host@/db这样的字符串)
[no_tags] ¶
在映射器插入并尝试返回新的主键值时对其进行小修复
[no_tags] ¶
重写了一半的tlengine,与'strategy=“threadlocal”'一起使用的组合sqlengine。现在它正确地实现了engine.begin()/engine.commit(),它使用connection.begin()/trans.commit()完全嵌套。增加了六个单元测试。
[no_tags] ¶
少校在游泳池里。游泳池里,忘了放回weakwaluedictionary。本来要检查这一点的UnitTest也悄悄地丢失了它。固定单元测试以确保ConnectionFairy正确脱离范围。
[no_tags] ¶
placeholder dispose()方法已添加到singletonthreadpool,但尚未执行任何操作
[no_tags] ¶
当引发异常时,会自动调用rollback(),但前提是进程中没有事务(即,工作方式更像是自动提交)。
[no_tags] ¶
修复了在不存在sqlite模块的情况下在sqlite中引发的异常
[no_tags] ¶
为关联对象文档添加了额外的示例细节
[no_tags] ¶
连接添加已关闭的检查
0.2.0
Released: Sat May 27 2006[no_tags] ¶
对引擎系统进行大修,使原来的sqlengine现在是由各种组件(包括方言、连接提供程序等)组成的复合sqlengine。这影响了所有db模块以及会话和映射器。
[no_tags] ¶
Create_Engine现在只使用RFC-1738样式的字符串:driver://user:password@host:port/database
[no_tags] ¶
完全重写连接范围方法,连接对象现在可以直接执行子句元素,添加显式的“close”,并支持整个引擎/ORM正确处理关闭,不再依赖于 __del__ 在内部返回到池的连接。
References: #152
[no_tags] ¶
检修会话接口和范围。使用Hibernate样式的方法,包括query(class)、save()、save_或_update()等。默认情况下不安装线程本地作用域。提供到特定引擎和/或连接的绑定接口,以便基础架构对象不需要绑定到引擎。添加了一个基本的sessionransaction对象,该对象可以简单地聚合多个引擎之间的事务。
[no_tags] ¶
彻底检查映射器的依赖关系和“级联”行为;依赖关系逻辑从properties.py分解为单独的模块“dependency.py”。层叠”行为现在是显式控制的,“删除”、“删除孤立”等的正确实现。依赖系统现在可以在刷新时确定子对象是否有父对象,以便更好地决定如何在数据库中更新该子对象以进行删除。
[no_tags] ¶
对架构进行大修,以构建元数据对象而不是引擎。整个SQL/Schema系统可以不使用任何引擎,只由显式连接对象执行。“绑定”方法通过模式对象的boundMetadata存在。proxyengine通常不再需要,而是由dynamicmetadata替换。
[no_tags] ¶
实现真正的多态行为,修复
References: #167
[no_tags] ¶
“OID”系统已经完全转移到编译时行为中;如果它们按顺序使用,那么它们不可用,那么就不会编译顺序,修复
References: #147
[no_tags] ¶
翻修到打包;“mapping”现在是“orm”,“objectstore”现在是“session”,旧的“objectstore”名称空间通过“threadlocal”mod加载(如果使用)
[no_tags] ¶
mods现在通过“import<modname>”调用。由于mod在全球范围内都是monkeypatching,因此扩展比mod更受欢迎
[no_tags] ¶
修复以添加属性以便将属性传播到继承映射器
References: #154
[no_tags] ¶
backrefs根据其原始属性的主映射器创建自己,可以指定要重写的主/辅助联接参数。帮助他们使用多态映射器
[no_tags] ¶
已实现“表存在”功能
References: #31
[no_tags] ¶
“创建全部/删除全部”添加到元数据对象
References: #98
[no_tags] ¶
拓扑排序算法的改进和修复,以及更多的单元测试
[no_tags] ¶
添加到文档的教程页,也可以使用自定义doctest运行程序运行,以确保其正常工作。为了处理新的代码模式,通常对文档进行大修
[no_tags] ¶
更多的修复、重构。
[no_tags] ¶
迁移指南可以在维基网站上找到,网址是:https://www.sqlalchemy.org/trac/wiki/02Migration