1. 程式人生 > >SQLAlchemy 1.2.16 釋出,Python ORM 框架

SQLAlchemy 1.2.16 釋出,Python ORM 框架

  

SQLAlchemy 1.2.16 釋出了,SQLAlchemy 是一個 Python 的 SQL 工具包以及資料庫物件關係對映框架。它包含整套企業級持久化模式,專門用於高效和高效能的資料庫訪問。

此版本更新包含了一系列 dialect 和引擎級的修復,以及包含非 ascii 字元的 DBAPI 異常訊息的 Unicode 解碼的1.2回滾。具體更新如下:

engine

  • engine Fixed a regression introduced in version 1.2 where a refactor of the SQLAlchemyError base exception class introduced an inappropriate coercion of a plain string message into Unicode under python 2k, which is not handled by the Python interpreter for characters outside of the platform’s encoding (typically ascii). The

    SQLAlchemyError class now passes a bytestring through under Py2K for __str__() as is the behavior of exception objects in general under Py2K, does a safe coercion to unicode utf-8 with backslash fallback for __unicode__(). For Py3K the message is typically unicode already, but if not is again safe-coerced with utf-8 with backslash fallback for the __str__()
    method.

    References: #4429

sql

  • sql mysql Fixed issue where the DDL emitted for DropTableComment, which will be used by an upcoming version of Alembic, was incorrect for the MySQL and Oracle databases.

    References: #4436

postgreql

  • postgresql Fixed issue where a postgresql.ENUM or a custom domain present in a remote schema would not be recognized within column reflection if the name of the enum/domain or the name of the schema required quoting. A new parsing scheme now fully parses out quoted or non-quoted tokens including support for SQL-escaped quotes.

    References: #4416

  • postgresql Fixed issue where multiple postgresql.ENUM objects referred to by the same MetaData object would fail to be created if multiple objects had the same name under different schema names. The internal memoization the PostgreSQL dialect uses to track if it has created a particular postgresql.ENUM in the database during a DDL creation sequence now takes schema name into account.

sqlite

  • sqlite Reflection of an index based on SQL expressions are now skipped with a warning, in the same way as that of the Postgresql dialect, where we currently do not support reflecting indexes that have SQL expressions within them. Previously, an index with columns of None were produced which would break tools like Alembic.

    References: #4431

misc

  • Fixed issue in “expanding IN” feature where using the same bound parameter name more than once in a query would lead to a KeyError within the process of rewriting the parameters in the query.

    References: #4394

釋出公告

下載地址