folosit mai ales pentru ORM sa, SQLAlchemy este mult mai mult decât atât.
SQLAlchemy construiește propria sa limbă interogare și personalizate modele persistenta de înaltă performanță și acces ușor la datele stocate
Ce este nou în această versiune:.
< ul>
Ce este nou în versiunea 1.0.4:
- O regresie destul de gravă unitate-de-lucru privind expresii SQL este fix, noul comportament în ceea ce privește expresiile textuale cu & quot; ORDER BY & quot; a fost redusă la un pic de cazuri de utilizare se potrivi mai bine acum depreciate, un cârlig eveniment puțin utilizate ORM a fost reparat, deoarece împiedicat pachetul SQLSoup de lucru, și metadatele & quot; pe a crea / pe meniurile & quot; evenimente a cunoscut o schimbare format într-unul dintre argumentele folosite mai mici fiind trecut, care a fost a revenit la forma sa anterioară.
Ce este nou în versiunea 0.9.9 / 1.0.0b5:
- Noua versiune SQL Server siruri de caractere
- New Psycopg2 condiții de eroare
- Modificări în MySQL-conector-python și pg8000
Ce este nou în versiunea 0.9.0:.
- Python 3 de sprijin
- extensii C sprijinit pe Python 3.
- atribute compozite sunt acum returnate ca forma lor obiect, atunci când întrebat pe o bază per-atribut.
- Asociația proxy SQL îmbunătățiri de expresie și stabilește.
- & quot; parola & quot; porțiune a unui create_engine () nu mai consideră semnul + ca un spațiu codificat.
Ce este nou în versiunea 0.8.2:
- 0.8.2 include mai multe remedieri de bug-uri și zeci de noi caracteristici, inclusiv rafinament a unora dintre noile caracteristici introduse în 0.8.
Ce este nou în versiunea 0.8.1:
- Aceasta este o versiune bugfix care rezolvă multe probleme, dintre care unele au apărut în 0.8.0 ca regresii și multe altele, care afectează toate versiunile.
Ce este nou în versiunea 0.8.0:
- Caracteristici nouă relație
- Caracteristici noi polimorfe - with_polymorphic () și of_type ()
- nou sistem de inspecții Runtime
- Extensible Sistem de operare
- HSTORE Suport
Ce este nou în versiunea 0.7.8:
- argumentul "obiectelor" a spăla () este nu mai depreciate, cum au fost identificate unele cazuri de utilizare valabile.
- identity_key fixă () funcție care nu a fost accepta un argument scalar pentru identitatea.
- Fixed bug care opțiune populate_existing nu ar propaga la subinterogări incarcator dornici.
Ce este nou în versiunea 0.7.6:
- adaugă unele caracteristici noi, cum ar fi suport pentru masă comună expresii, și are, de asemenea unele remedieri importante bug-uri.
Ce este nou în versiunea 0.6.7:
- înăsprit repeta in Raport scoate mutex în jurul identității harta repetare, încercând pentru a reduce posibilitatea unei (extrem de rare) operațiune reintrare GC provocând un impas. S-ar putea scoate mutex-ul la 0,7.
- Adaugata o `argument name` la` Query.subquery () `, pentru a permite un nume fix care urmează să fie atribuite obiectului alias.
- O avertizare este emis atunci când un mapper alăturat masă moștenind nu are cheile primare pe masa mapate la nivel local (dar are PKS pe masă superclasa).
- Fixed bug în cazul în care & quot; de mijloc & quot; clasă într-o ierarhie polimorfă ar avea nici o coloana "polymorphic_on" dacă nu a specificat, de asemenea, un "polymorphic_identity", ceea ce duce la erori ciudate asupra reîmprospătare, clasa greșit încărcate atunci când interogarea de acest obiectiv. Emite asemenea, în cazul corectă criteriu atunci când se utilizează o singură moștenire de masă.
- bug fix în cazul unei coloane cu o valoare implicită SQL sau partea de server, care a fost exclus de la o cartografiere cu include_properties sau exclude_properties ar duce la UnmappedColumnError.
Ce este nou în versiunea 0.6.5:
- Fixed bug în query.update () în cazul în care " evalua "sau" aducă "expirare ar eșua în cazul în care cheia de expresie coloană a fost un atribut de clasa cu o KeyName diferite ca numele real coloană.
- - Adăugat o afirmație în timpul culoare care să asigure că nu chei de identitate nul exploatație au fost generate pe & quot; nou persistentă & quot; obiecte. Aceasta se poate întâmpla atunci când utilizatorul cod definit declanșează accidental culorile pe obiecte încărcate-nu-complet.
- loturile Lazy relatie atributele folosi acum starea actuală, nu quot &, angajat & quot; de stat, de atribute cheie străine și primar atunci când eliberează SQL, în cazul în care o culoare care nu se află în proces. Anterior, numai statul-bază de date angajat va fi utilizat. În special, acest lucru ar duce la o obține mai multe-la-unu () - pe-lazyload operare pentru a eșua, ca autoflush nu este declanșată pe aceste sarcini atunci când atributele sunt determinate și & quot; & quot; angajat de stat să nu fie disponibile.
- O nouă steag pe relația (), load_on_pending, permite încărcătorul leneș la foc off pe obiecte în curs, fără a lua loc culoare, precum și un obiect tranzitoriu care a fost manual & quot; atașat & quot; la sesiunea. Rețineți că această blocuri de pavilion atribuie evenimente din loc atunci când un obiect este incarcat, asa ca backrefs nu sunt disponibile decât după o culoare. Steagul este destinat numai pentru cazuri de utilizare foarte specifice.
- Un alt pavilion nou la relația (), cascade_backrefs, dezactivează & quot; salva-update & quot; cascadă atunci când evenimentul a fost inițiată pe & quot; & quot; inversă parte a unei relații bidirecțional. Acesta este un comportament mai curat, astfel că mulți-la-cele poate fi setat pe un obiect tranzitoriu fără asistent aspirat în sesiune obiect copilului, în timp ce încă permițând colectarea cu nerăbdare să cascadă. Noi * putere * Implicit acest lucru fals în 0,7.
- ușoară îmbunătățire a comportamentului de & quot; passive_updates = False & quot; atunci când sunt introduse numai pe mulți la-o parte a unei relații; documentație a fost clarificat faptul că passive_updates = False ar trebui să fie într-adevăr pe partea de unu-la-mai-mulți.
- passive_deletes Plasarea = True pe un multi-la-unu emite un avertisment, deoarece, probabil, ați intenționat să-l puneți pe partea de unu-la-mai-mulți.
- bug care ar împiedica & quot fixe; subqueryload & quot; de la funcționează corect cu un singur moștenire de masă pentru o relatie de la o subclasă - & quot; în cazul în care tipul de la (x, y, z) & quot; numai devine plasate pe partea interioară, în loc de mai multe ori.
- La utilizarea from_self () cu un singur moștenire tabel, & quot; în cazul în care tipul de la (x, y, z) & quot; este plasat pe partea exterioară a numai interogarea, în loc de mai multe ori. Poate face ceva mai multe ajustări în acest sens.
- scoped_session emite o avertizare atunci când configurare () este numit în cazul în care o sesiune este deja prezentă (verificări numai firul curent).
Ce este nou în versiunea 0.6.4:
- Numele ConcurrentModificationError a fost schimbat la StaleDataError, și mesaje de eroare descriptive au fost revizuite pentru a reflecta exact ceea ce este problema. Ambele nume va rămâne disponibil pentru viitor previzibil pentru sistemele care pot fi specificând ConcurrentModificationError în & quot; cu excepția: & quot; clauză.
- Adăugat un mutex pe hartă identitate care mutex elimina operațiuni împotriva metodelor de iterație, care acum pre-tampon înainte de a reveni o iterable. Acest lucru deoarece gc asyncrhonous poate elimina elemente prin firul GC, în orice moment.
- Clasa sesiune este acum prezentă în sqlalchemy.orm. *. Ne trecerea de la utilizarea create_session (), care are implicit non-standard, pentru acele situații în care o sesiune constructor-un singur pas este de dorit. Cei mai mulți utilizatori ar trebui să stai cu sessionmaker () pentru uz general, cu toate acestea.
- query.with_parent () acceptă în prezent obiecte tranzitorii și va folosi valorile non-persistente de PK / atributele lor FK pentru a formula acest criteriu. Docs asemenea, sunt clarificate în ceea ce privește scopul with_parent ().
- include_properties și argumentele exclude_properties la Mapper (), acum acceptă obiecte coloană ca membri în plus față de siruri de caractere. Acest lucru pentru ca obiectele Coloana aceleași nume de, cum ar fi cele intr-un alătura (), poate fi diferentiate.
Ce este nou în versiunea 0.6.0:
- Extinderea C acum, de asemenea, funcționează cu DBAPIs care utilizează secvențe personalizate ca rând (și nu numai tupluri).
- Restaurat unele logica obligati-etichetare de 0,5 care asigură că tabele cu nume de coloană care se suprapun o altă coloană de forma & quot; & # x3c; tablename & # x3e; _ & # x3c; ColumnName & # x3e; & quot; nu va produce erori în cazul în coloană.
- Table.create () și Table.drop () nu se mai aplică la nivel metadata- crea evenimente / picătură.
- Postgresql reflectă acum nume de secventa asociate cu coloane SERIALE corect, dupa numele secvenței a fost schimbat.
- Postgresql reflectă numele de constrângeri cheie primară, dacă există.
Comentariile nu a fost găsit