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,增加了新的文檔節&QUO​​T;定制比較"
  • 在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異常。
  • 來的Postgres增加指數反映的支持,用一個偉大的補丁,我們長期忽視,提交由肯·庫爾曼。 [門票: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中

類似的軟件

意見 SQLAlchemy

評論沒有發現
添加評論
打開圖片!