SQLAlchemy Python için bir veritabanı soyutlama kütüphanesi olarak hareket etmek kadar yere, ORM (İlişkisel Eşleştiricisi'ni Nesne) ve SQL araç Python programlama dilinde yazılmış ve tasarlanmış bir açık kaynak kodlu, platform bağımsız ve özgür kütüphane yazılımıdır.
Eğer & rsquo; bir Python geliştiricisi yeniden, SQLAlchemy size tam bir esneklik ve SQL gücünü, bir glanceThe yazılım ile yüksek performans ve verimli veritabanı access.Features için tasarlanmış popüler kurumsal düzeyde sebat desen, tam bir koleksiyon sunan verecek Sofistike görevler ve modüler için yeterince güçlü, kullanımı son derece kolaydır. Sqlalchemy ile CRUD işlemleri bekleyen düzenlemek mümkün olacak, korelasyon, mantıksal ifadeler, fonksiyonlar, operatörler, masa takma ad, BİRLİĞİ maddelerinin kullanımına izin verir hükümleri,, insert oluşturmak, silmek ve güncelleme sorguları, seçilebilir alt sorgular, ilişkili güncellemeler, iç ve YOKTUR dış birleşimler ve bağlama parametreleri.
Ayrıca, desen dayalı nesnelerin şeffaf kalıcılığı oluşturmak için yükleme ile ilgili nesneler ve koleksiyonları, destek için veritabanları yanı sıra, onları iç gözlem, destek oluşturmak için kullanılabilir, senkronizasyon desteği yanı sıra, manipüle ve etki alanı modelleri oluşturmak için destek otomatik olarak geçerli işlemle tüm değişiklikler.
Diğer özellikleri arasında, bir ilişkisel-odaklı sorgu sistemi bu & rsquo sayabiliriz; s SQL & rsquo tüm açığa yeteneğine sahip, işlevselliğini, korelasyon dahil, bir dbapi etkileşim tabakası, bir çekirdek SQL inşaat sistemi, tam, bağımsız bir veritabanı soyutlama katılır ve alt sorgular tabaka, genişletilebilir SQL şema metadata, ifade dili, bağlantı havuzu, özel türleri ve databasesThe programın geniş bir yelpazede MySQL, PostgreSQL, Firebird, Oracle, Microsoft da dahil olmak üzere veritabanı sunucuları ve motorların, geniş bir yelpazede için lehçeleri içeren tipi coercion.Supports için destek SQL Server, SQLite, Sybase, ve diğerleri.
Proje kolayca Microsoft Windows, BSD veya Mac OS X işletim sistemlerinde yanı sıra, dağıtılan ve herhangi bir GNU / Linux dağıtımı üzerinde kullanılabileceği anlamına gelir bir işletim sistemi, bağımsızdır. Her ikisi de 32-bit ve 64-bit donanım mimarileri şu anda desteklenen
Bu sürümde Yeni nedir:.
- orm:
- [orm] [hata] [motor] adlı = true parametresi kullanılacak zaman genellikle # 3199 olduğu gibi olayın, aynı sınıfları etkilenen Sabit hata. Sarılmış & quot; Bazı olaylar kayıt başarısız olur, ve diğerleri genellikle bir olay oldu & quot zaman durumunda, doğru olay argümanları çağırmak olmaz; başka bir şekilde adaptasyon için. & Quot; adlandırılmaktadır quot; mekaniği, iç sarıcı işlevleri tarafından beklenen argüman imzası ile müdahale değil yeniden düzenlenmiştir.
- [orm] [hata] Sabit hata; Yedekli çağrı dinleyici işlevi sarılır bu olaylar için, başarısız olur aynı argümanlarla () event.listen için. Bir onaylama registry.py içinde vurmak olacaktır. Bu iddia artık yönüyle tekilleştirme kontrol basit bir aracı avantaj ile, tekilleştirme kontrol entegre edilmiştir.
- [orm] [hata] aynı zamanda remote_side belirtilen iken karmaşık özüne primaryjoin, fonksiyonları içerdiği zaman yayarlar olur uyarı Sabit; Uyarı ayarı & quot öneririz; uzaktan tarafı & quot ;. Remote_side mevcut değilse bu artık sadece yayar.
- orm bildirime:
- [hata] [bildirime] [orm] Sabit & quot; 'NoneType' nesne yok özniteliği 'somut' & quot; Hata __abstract beyan bir alt birlikte AbstractConcreteBase kullanarak __.
- Motor:
- [motor] [hata] ya create_engine.execution_options veya Engine.update_execution_options aracılığıyla Engine geçirilen yürütme seçenekleri () içinde lehçesini başlatmak için kullanılan özel bağlantı geçirilen değildir & quot; İlk bağlamak & quot; Olay; lehçeleri genellikle bu aşamada kendi sorguları gerçekleştirmek olacak ve mevcut kullanılabilir seçeneklerin hiçbiri burada uygulanmalıdır. Özellikle & quot; autocommit & quot; seçenek bağlantı nedeniyle Bağlantı standart dışı duruma bir AttributeError ile başarısız kaldığı bu baş içinde özdevinimli bir girişimde neden oldu.
- [motor] [hata] onlar & quot katkıda zaman INSERT veya UPDATE etkilenen sütunları belirlemek için kullanılan dize anahtarları artık sıralanır; derlenmiş önbellek & quot; önbellek anahtar. Bu tuşlar önceden deterministik performansının yanı sıra hafıza açısından hem de maliyet, eşdeğer tuşları üzerinde birden çok kez önbelleğe olabilir aynı deyimi anlamı, sipariş edildi.
- sql:
- [SQL] [hata] sql paketinin içinde SQL elemanlarının adil sayıda nedeniyle daha sonra bir iç AttributeError sonra yeniden verecek bir yineleme taşması çağırmak istiyorum bir eksik açıklama özniteliği, başarıyla) __ (__repr başarısız olur Sabit hata -invoke __repr __ ().
- [SQL] [hata] tablo / dizin yansıması bir ayarlama gibi bir dizin tablosunda mevcut bulunmamıştır bir sütun bildirirse, bir uyarı duyulur ve sütun atlanır söyledi. Oracle ile gözlenmiştir gibi bu bazı özel sistem kolon durumlar oluşabilir.
- [SQL] [hata] bir CTE açıklamada başka yumuşatılmış CTE sevk derleyici argüman literal_binds CTE Sabit hata her zaman doğru dağıtılmasını olmaz.
- [SQL] [hata] bir mis-adlandırılmış birim testi ile birlikte # 3067 neden Sabit 0.9.7 regresyon gibi sözde & o quot; şema & quot; Boolean ve Enum gibi türleri artık turşu olabilir.
- postgresql:
- [postgresql] [özellik] [pg8000] Destek & quot eklenir; aklı başında çok satır sayısı & quot; ORM ile sürüm kullanırken çoğunlukla geçerlidir pg8000 sürücüsü ile. özellik pg8000 1.9.14 veya kullanımda daha dayanan sürüm tespit olduğunu. Istek nezaket Tony Locke çekin.
- [postgresql] [hata] İlk 0.9.5 yamalı bu konuya tekrar, görünüşe göre psycopg2 en .closed accessor biz kabul kadar güvenilir değildir, bu yüzden istisna mesajlar & quot için açık bir çek eklemiş, SSL SYSCALL hatası : Hatalı dosya tanımlayıcı & quot; ve & quot; SSL SYSCALL hatası: EOF tespit & quot; Bir isimli ayırma senaryosu tespit zaman. Biz psycopg2 en birinci kontrol olarak connection.closed. danışmak devam edecek
- [postgresql] [hata] PostgreSQL JSON tipi yerine JSON kodlanmış 'boş' den, SQL NULL sütun değeri devam veya başka işlemek mümkün değildi Sabit hata. Aşağıdaki gibi bu davayı desteklemek için, değişiklikler şunlardır:
- daima açıklamada sonuçlanan bir NULL değeri neden olur şimdi belirtilebilir değeri null ().
- JSON.none_as_null eklenir yeni bir parametre, 'boş'.
- NULL retrival Hiçbiri Ayrıca psycopg2, yani pg8000 dışındaki DBAPIs için tamir gibi.
- [postgresql] [hata] şimdi böyle psycopg2 TransactionRollbackError gibi standart olmayan dbapi istisnalar, ağırlayacak dbapi hataları için istisna sarma sistemi. Bu istisnalar artık TransactionRollbackError, sqlalchemy.exc.OperationalError durumunda, sqlalchemy.exc en yakın mevcut alt sınıf kullanılarak yükseltilmiş olacaktır.
- [postgresql] [hata] Sabit hata. Istek nezaket Andrew çekin.
- [postgresql] [hata] eklendi desteklenen FunctionElement.alias () yöntemi fonksiyonları, örneğin işlev yapısı. Daha önce, bu yöntem için davranışı tanımlı oldu. Bu işlev sütunu kendisi anonim adlı verilen diğer ad ile FROM yan tümcesinde bir tek sütun haline olmasıdır ön-0.9.4, mevcut davranış taklit.
- mysql:
- [MySQL] [hata] [mysqlconnector] Mysqlconnector sürüm 2.0 olarak, python 3 birleştirme bir yan etkisi, şimdi yüzde işaretleri beklemediğini muhtemelen iki katına çıkarılması için, bile & quot kullanılarak pyformat & quot; bağlı parametre biçimi (bu değişiklik Mysqlconnector tarafından belgelenen). lehçesi şimdi py2k ve modül operatörü %% veya% olarak oluşturulması gereken ıncelenmesını eğer sürüm 2.0 daha az mysqlconnector denetler.
- [MySQL] [hata] [mysqlconnector] Unicode SQL şimdi MySQLconnector sürümü için geçirilir 2.0 ve üstü; Py2k ve MySQL & lt; 2.0, dizeleri kodlanmış.
- sqlite:
- [sqlite] [hata] normalde olduğu gibi yerine 'tablename.colname' olan, bir ekli veritabanı dosyası, 'dbname.tablename.colname' olarak cursor.description içinde pysqlite sürücü raporları sütun adları kullanarak UNION gelen seçerken Bir UNION için (sadece ikisi için 'colname' olması gerekiyordu unutmayın, ama biz çözüm). Burada sütun çeviri mantığı sağdaki belirteci yerine ikinci belirteci almak için ayarlandı, bu nedenle her iki durumda da çalışır. Geçici çözüm nezaket Tony Roberts.
- mssql:
- [mssql] [hata] kelimesini & quot değiştirir, Microsoft SQL Azure, çalışmak için pymssql lehçesinde sürüm dize algılama Sabit, SQL Server & quot; SQL Azure & quot;, & quot.
- oracle:
- [oracle] [hata] Sabit uzun süredir Oracle bağlı parametre adları sayısal değerler sevmez gibi, sayılar ile başladı bağlı parametre isimleri alıntı olmaz yerlerde, Oracle lehçesinde hata.
- misc:
- [hata] [bildirime] girişimi & quot kontrol etmek için bazı egzotik son kullanıcı kurulumları, gözlenen beklenmedik bir yarış durumu Sabit; sınıf adı & quot çoğaltmak; Bildirime diğer bazı sınıf kaldırılıyor ilgili bir değil-tamamen-temizlenmiş zayıf referans üzerine vurmak istiyorsunuz; Burada çek şimdi weakref hala daha onun üzerine çağırmadan önce bir nesneye başvurur sağlar.
- [hata] [ext] reorder_on_append bayrağı true olarak ayarlanmış olsaydı öğelerin sırasını, olay yerine bir toplama sırasında atılır olacağını listesini sipariş Sabit hata. düzeltme sipariş listesi sadece etkileri açıkça nesne ile ilişkili liste sağlar.
- [hata] [ext] ext.mutable.MutableDict böylece değişiklikleri yakalamak değil, güncelleme () Sözlük yöntemi uygulamak için başarısız Sabit hata. Çekin istek nezaket Matt Chisholm.
- [hata] [ext] ext.mutable.MutableDict özel bir alt sınıfı göstermek olmaz Sabit hata & quot; zorlamak & quot; operasyon, ve bunun yerine bir düz ext.mutable.MutableDict dönecekti. Çekin istek nezaket Matt Chisholm.
- [hata] [havuz] & quot bağlantı havuzu günlüğü Sabit hata; bağlantı & quot kontrol; günlük logging.setLevel (kullanarak kurmak olsaydı hata ayıklama günlüğü mesajı yerine echo_pool bayrağını kullanarak daha) yayarlar olmaz. Bu günlük iddia Testler eklendi. Bu 0.9.0 başlanan bir gerileme olduğunu.
De çoğaltarak & quot; & quot olağan mantık olayı birçok sınıfları, özellikle ORM olayları değil, aynı zamanda motor olayları, etkilenen
Python Yok değeri JSON kodlanmış yerine SQL NULL olarak peristed gerektiğini gösterir Gerçek
Düz bir Python listesine karşılaştırma doğru dizi kurucusunu kullanmak için başarısız olur postgresql.array nesne
(Modül operatörü ve diğerleri olarak kullanılan örneğin)
nedir sürüm 0.5.0 Yeni:
- yeni özellikler
- Genel
- Belgeler Sfenks dönüştürüldü. Özellikle, oluşturulan API belgelerine tam şişmiş & quot içine inşa edilmiştir; API Referans & quot; oluşturulan Docstringler ile birlikte editoryal belgeleri düzenlemektedir bölüm. Bölümler ve API docs arasındaki çapraz bağlama ölçüde bir javascript destekli arama özelliği sağlanır, geliştirilmiş ve tüm sınıflar, fonksiyonlar ve üyeleri tam bir dizin sağlanır.
- setup.py artık sadece isteğe bağlı setuptools ithal. Yoksa, distutils modülünü kullanılır. Yeni & quot; & quot pip; Bir daha basitleştirilmiş bir şekilde yükler gibi yükleyici easy_install üzerine tavsiye edilir.
- örnekler klasörüne bir PostGIS entegrasyonu son derece temel bir resme ekledi.
- orm
- Query.with_polymorphic () şimdi üçüncü bir argüman & quot kabul eder; olanı sorgu için mapper.polymorphic_on değerini değiştirecektir. Kendilerini artık polymorphic_on gerektiren mappers mapper bir polymorphic_identity olsa bile, ayarlanacak. Ayarlanmamış zaman eşleştiricisinden varsayılan olmayan polymorphically yükleyecektir. Birlikte, bu iki özellik her durumda polymorphically kullanıldığında beton kurulumları birçok konuda eğilimli olduğundan, olmayan bir polimorfik beton miras kurulum sorgu başına bazında polimorfik yükleme kullanmanıza izin verir.
- dynamic_loader bir query_class kabul = dinamik toplama ve ondan inşa sorguları hem kullanılan Sorgu sınıfları özelleştirmek için.
- query.order_by () sorgudan bekleyen order_by durumunu kaldırmak, yanı sıra herhangi mapper / ilişkiyi de yapılandırılmış sipariş iptal olur Yoktur kabul eder. Bu dynamic_loader belirtilen sıralama () geçersiz kılınması için özellikle kullanışlıdır. [Bilet: 1079]
- SQL
- RowProxy nesneleri sözlük Connection.Execute gönderilen argüman () ve arkadaş yerine kullanılabilir. [Bilet: 935]
- lehçesi
- meta işlerken sütun adını kodlamak için kullanılan lehçesi yeni description_encoding niteliği eklendi. Utf-8 Bu genellikle varsayılan.
- mssql
- Yeni MSGenericBinary tip eklendi. Bir ilişkisiz değişken uzunluk İkili türü olarak sabit genişlik İkili türleri ve olmayan uzunluk türleri gibi uzunluğu belirtilen türde tedavi uzman davranışlarını uygulamak, böylece bu ikili tipine eşler.
- yeni tip eklendi. [Bilet: 1249]
- MSReal, MSNText, MSSmallDateTime, MSTime, MSDateTimeOffset ve MSDateTime2 türleri eklendi
- sqlite
- Tablo yansıma şimdi sütun için gerçek DefaultClause değerini saklar. [Bilet: 1266]
- onarımları, davranış değişiklikleri
- Genel
- orm
- İstisnalar () şimdi quot sağlamak ve korunmuş olan
- önceden derlenmiş eşlenen özniteliği bir hasattr () çağrısı istisna bir derleme başarısızlığa uğramaktadır tetikler ve bastırır eğer, sonraki derleme bloke olur ve istisna sonraki derleme () çağrısı üzerine yineledi edilecektir. Bildirime kullanırken bu sorun sık ortaya çıkar.
- property.of_type () prop.of_type (..) bağlamında kullanıldığında, şimdi bir tek tablo miras hedef üzerinde kaydedilir. Herhangi bir () / () olur, hem de query.join (prop. of_type (...)).
- query.join () bir hata tutarsa
- Herkes bunu yapıyor olası iken, SQLAlchemy yazar bu özel kaçak kaz davranış suçlu oldu.
- Sabit hata weak_instance_map kullanarak = modifiye olaylar floş için ele olmaz Yanlış yerlerde (). [Bilet: 1272]
- Bazı derin & quot Sabit, kolon yazışmalar & quot; Aynı tablonun birden fazla sürümünü içeren bir seçilebilir karşı yapılan bir sorgu etkileyebilecek hususlar yanı sıra, farklı seviyelerde farklı sütun pozisyonlarda aynı tablo sütunları bulunan sendikalar ve benzeri. [Bilet: 1268]
- column_property ile birlikte kullanılan özel karşılaştırıcı sınıfları (), ilişki () vb kullanılabilir olacak karşılaştırıcı yeni karşılaştırma yöntemleri, tanımlayabilirsiniz aracılığı __getattr __ () InstrumentedAttribute üzerine. Eşanlamlı () veya comparable_property () durumunda, nitelikleri sonra kullanıcı tanımlı karşılaştırıcıdaki, kullanıcı tanımlı tanımlayıcısı ilk çözümlenir.
- Eklendi ScopedSession.is_active accessor. [Bilet: 976]
- tuşları olarak haritalanmış nitelikleri ve sütun nesneleri geçmek Can query.update için ({}). [Bilet: 1262]
- bir ifade seviyesi ekin değerleri () () veya güncelleme (geçirilen Haritalanmış özniteliklerine) eşlenen niteliğin değil haritalanmış sütunlar, tuşlarını kullanabilirsiniz olacaktır.
- Query.delete () ve Query.update (düzeltildi sorun) bağlama parametreleri ile düzgün çalışmıyor. [Bilet: 1242]
- Query.select_from (), from_statement () verilen argüman, sırasıyla, bir FromClause, veya Metin / Seç / Birlik olduğundan emin olun.
- Sorgu () geçirilebilir & quot; kompozit & quot; Bir sütun ifadesi olarak nitelik ve genişletilmiş olacaktır. Biraz [bilet: 1253] ile ilgili.
- Sorgu () (anlamına gelebilir ki bu sadece daha güzel bir hata tutarsa) biraz daha sağlamdır.
- ) (ilk çalışır.
- add_property () veya eşdeğeri kullanılarak bir mapper sonrası derleme eklenen özellikleri çalışmıyor istekli yükleme içeren 0.5rc4 tanıtıldı Sabit hata.
- Sabit hata burada birçok-çok ilişkisi () doğru secondary- & gt arasındaki bağlantıyı başvuru olmaz viewonly = true ile;. Uzaktan
- Yinelenen öğeleri muhafaza edilecektir & quot; ikincil & quot; Bir çok-çok sayıda ilgili tablo. Bunun üzerine benzersiz veya birincil anahtar kısıtlaması m2m tablosu vardır varsayarsak, bu sessizce yinelenen girdileri bırakarak yerine beklenen sınırlama ihlali çıkaracağız. Bu durumda toplama girdileri INSERT deyimleri yol açmaz ve SQLA değil elle polis koleksiyonları yapar çünkü eski davranış bir-çok ilişkisi kalır unutmayın. [Bilet: 1232]
- Query.add_column ()) (session.query aynı şekilde FromClause nesneleri kabul olabilir.
- Karşılaştırma değil _ (). dayanan NULL DEĞİLDİR
- açık primaryjoin / secondaryjoin sağlamak için eklenen ekstra kontroller ClauseElement örnekleridir, daha sonra daha kafa karıştırıcı hataları önlemek için. [Bilet: 1087]
- Geliştirilmiş mapper () olmayan sınıf sınıflar için kontrol edin. [Bilet: 1236]
- comparator_factory argüman şimdi column_property (), ilişki (), backref (), ve eşanlamlı olmak üzere, tüm MapperProperty türleri tarafından belgelenen ve desteklenmektedir () [bilet: 5051].
- Tüm diğer adları ile tutarlı olması için, RelationProperty için PropertyLoader adını değiştirdi. PropertyLoader hala eşanlamlı olarak mevcuttur.
- sabit & quot; çift iter () & quot; shard API otobüs hataları neden çağrı kaldırıldı 0.4 sürümünden kalan serseri result.close (). [Bilet: 1099] [bilet: 1228]
- yapılan Session.merge çağlayanlar AutoFlush tetiklemez. Düzeltmeler birleşti örnekleri erken eksik değerleri ile eklenen alıyorum.
- (daha sonra FROM yan tümcesinde neden kartezyen ürünleri işlenecek ekstra tabloları neden olan) polymorphic_union miras senaryolarında işlenmiş dışarı-bant sütunları önlemek için iki giderir:
- iyileştirmeler & quot; b- & gt; a & gt için. c miras durumları iyi değil olmayan adapte sütun render daha yönlendirme çok düzeyde aracılığıyla birbirleriyle ilişkili sütunları bulmak için
- & quot; polimorfik ayırt edici & quot; sütun yalnızca karşı sorgulanan gerçek eşlemlemeden için oluşturulur. sütun olmak & quot olmayacak; & quot çekti; Bir alt sınıf ya da gerekli değil çünkü üst sınıf eşleştiricisinden.
- ShardedSession.execute üzerinde Sabit shard_id argümanı (). [Bilet: 1072]
- SQL
- Sütunlar yine kendi isimleri içinde yüzde işaretleri içerebilir. [Bilet: 1256]
- sqlalchemy.sql.expression.Function artık bir kamu sınıftır. Önceden kurulmuş davranışlarla da dahil olmak üzere, bir zorunluluk tarzı kullanıcı tanımlı SQL fonksiyonları sağlamak için sınıflandırma yapılabilir. postgis.py örnek bu bir kullanımını göstermektedir.
- PickleType şimdi varsayılan olarak == karşılaştırma yanadır (). Nesne (__eq __ uygulamak değildir) ve değişken = true, bir amortisman uyarı kaldırdı ise.
- __names__ ihracat değil sqlalchemy.sql ithalat garabeti düzeltildi. [Bilet: 1215]
- tekrar tekrar aynı ForeignKey nesnesi kullanarak sessizce sonra başarısız yerine bir hata yükseltir. [Bilet: 1238]
- params için eklendi NotImplementedError () yöntemi / yapıları silin. Bu öğeler şu anda da değerleri () ile karşılaştırıldığında biraz yanıltıcı olur bu işlevi desteklemez.
- düzgün sütun & quot verildi bile, onların başvurulan sütun bulur Yansıyan yabancı anahtarlar; anahtar & quot; yansıyan adından farklı bağlıyor. Bu denen & quot ForeignKey / ForeignKeyConstraint yeni bayrak üzerinden elde edilir; link_to_name & quot ;, Gerçek adı verilen sevk-sütunun ismi değil, onun atanan anahtar demektir eğer. [Bilet: 650]
- (), bir tablo ya da diğer seçilebilir ve iç ifadeler aynı şekilde bir sütun olarak bir ClauseList kabul edebilir sütun elemanları olarak kullanılacaktır. [Bilet: 1253]
- & quot; pasif & quot; session.is_modified bayrak () doğru nitelik yöneticisi yayılır.
- sendika () ve union_all () () seçin uygulanan İçerde olan herhangi bir order_by () vurmak olmaz. Eğer sendika () order_by (ile) (seçkin) (muhtemelen OFFSET / LIMIT desteklemek için), ayrıca parantez uygulamak için üzerinde self_group () çağırmalıdır edin.
- Motor / havuz
- Connection.invalidate () denetler nitelik hataları önlemek için. [Bilet: 1246]
- NullPool hatası davranışı üzerinde yeniden destekler. [Bilet: 1094]
- İlk havuz oluşturulması için bir mutex eklendi. Dogpile terimi, bu buluşa uygun bir yan durum engeller; aksi takdirde ağır yük başlangıçta oluşacak davranış. [Bilet: 799]
- _execute_clauseelement () geri özel bir yöntem olmaya gider. Sınıflara Bağlantı ConnectionProxy kullanılabilir olduğunu artık gerekli değildir.
- dokümantasyon
- Biletler [bilet: 1200] [bilet: 1149].
- create_session hakkında Eklenen notu () varsayılan.
- metadata.reflect hakkında Eklenen bölüm ().
- Güncelleme `TypeDecorator` bölümü.
- Rewrote & quot; threadlocal & quot; nedeniyle bu özellik üzerinde son karışıklığa dokümanlar strateji bölümü.
- tarih 'polymorphic_fetch' ve mirastan 'select_table' docs, dışarı kötü kaldırıldı quot & ikinci yarısını taşınmış; katıldı masa miras & quot;.
- comparator_factory` kwarg `belgelenen, yeni doc bölüm & quot ekledi.
- mssql
- Tarih / Saat tipleri Refactored. `` Smalldatetime`` veri türü artık sadece bir tarihe keser, ve şimdi MSSmallDateTime türüne eşleştirilir. [Bilet: 1254]
- int kabul etmek numerics ile bir sorunu düzeltildi.
- `` LEN () `` fonksiyonu `` char_length`` Haritalanmış.
- `` `` INSERT`` INSERT`` dönüştürülür subselect içeriyorsa bir `` INSERT INTO VALUES`` bir `` SELECT`` yapı INSERT INTO için inşa.
- sütun `` MSSQL primary_key sütunlarda `` NULL`` izin vermez çünkü olması `` NULL`` DEĞIL primary_key``. parçası ise
- `` MSBinary`` şimdi yerine bir `` IMAGE`` bir `` BINARY`` döndürür. Bu, bir geriye uyumsuz değişiklik `` `` BINARY`` IMAGE`` değişken uzunlukta veri tipi ise bir sabit uzunlukta veri türüdür. [Bilet: 1249]
- `` get_default_schema_name`` artık kullanıcının varsayılan şema dayalı veri tabanından yansır. Bu sadece MSSQL 2005 ve sonrası ile çalışır. [Bilet: 1258]
- Yeni bir harmanlama argüman kullanılarak eklendi harmanlama desteği. Bu aşağıdaki türleri desteklenir: Char, nchar, varchar, nvarchar, metin, ntext. [Bilet: 1248]
- bağlantı dizesi parametrelerinde yapılan değişiklikler pyodbc için varsayılan şartname olarak DSN lehine. Ayrıntılı kullanım talimatları için mssql.py docstring'ini bakın.
- Savepoint deneysel desteği eklendi. Şu anda oturumları tam çalışmaz.
- üç sütun nullability düzeyleri için destek: NULL, NULL, ve veritabanının yapılandırılmış varsayılan. Varsayılan Sütun yapılandırma (= null true) artık DDL NULL üretecektir. Daha önce hiçbir belirtim yayılan ve veritabanı varsayılan (NULL, ama her zaman değil genellikle) yürürlüğe girecek. Açıkça veritabanı varsayılan istemek için, null = Yok olan sütunları yapılandırmak ve hiçbir belirtim DDL yayılan edilecektir. Bu geriye uyumsuz davranış. [Bilet: 1243]
- postgres
- & quot;% & quot; Metinde işaretleri () yapıları otomatik olarak & quot kaçtı; %% & quot ;. '%%' Dizesinde tespit edilirse Bu değişiklik nedeniyle geriye uyumsuz doğası, bir uyarı duyulur. [Bilet: 1267]
- server_side_cursors birlikte alias.execute () çağrılıyor AttributeError yükseltmek olmaz.
- Postgres Eklendi Endeksi yansıma desteği, Ken Kuhlman tarafından sunulan uzun ihmal büyük bir yama kullanılarak. [Bilet: 714]
- oracle
- create_xid biçimi Arındırılmış () iki fazlı işlemek onarmak için. Biz şimdi bu değişiklik ile düzgün çalışan tamamlama Oracle iki faz alan raporlar var.
- Eklendi OracleNVarchar tipi, NVARCHAR2 üreten ve aynı zamanda varsayılan olarak true o convert_unicode = böylece Unicode alt sınıfların. Bu sütunlar açık bir convert_unicode = true bayrakları ile yansıyan masaya unicode geçmek, böylece NVARCHAR2 otomatik olarak bu tip içine yansıtır. [Bilet: 1233]
- alınan belirli türleri params dışarı önlenmesi hangi hata düzeltildi; teşekkürler wwu.edu de huddlej için bir ton! [Bilet: 1265]
- mysql
- & quot;% & quot; Metinde işaretleri () yapıları otomatik olarak & quot kaçtı; %% & quot ;. '%%' Dizesinde tespit edilirse Bu değişiklik nedeniyle geriye uyumsuz doğası, bir uyarı duyulur.
- FK sütunlar yansıma sırasında mevcut değil istisna yükseltmek Sabit hata. [Bilet: 1241]
- Sabit hata.
- associationproxy
- Dernek vekil özellikleri sınıf düzeyinde, örneğin de kendilerini kullanılabilir yapmak vardır MyClass.aproxy. Daha önce bu Yoktur değerlendirildi.
- bildirime
- ) (backref tarafından dizge olarak kabul edilen argümanlar tam listesini 'primaryjoin', 'secondaryjoin', 'ortaöğretim', 'foreign_keys', 'remote_side', 'order_by' içerir.
Discriminator & quot;
MSVarBinary ve MSImage:
Yapışkan davranış & quot;, compile_mappers sırasında gündeme
Target özelliği tabanlı öznitelik eşleşmiyor katılmak
Bu tür dizeleri, clauselists, metin () yapıları gibi çeşitli sütun ifadeleri geçtiğinde
Query.from_statement () beklendiği gibi
Için ınsert'ler verirken bir liste temelli koleksiyonunda
Düzgün dönüştürülen NULL çok-one ilişkinin
Sütun uyumu & quot;
(Örneğin bir dict gibi) gelen nesne __eq __ uygular eğer
Ekle / Update
Seçin
Kapalı durumu
Pool.manage (dbapi) kullanırken
Özel Comparators & quot;;
Bu şemada başka bir tabloya bir yabancı anahtar ref ile uzak-şema tablo yansımasını içeren
Gereksinimler :
- Python
Yorum Bulunamadı