sqlalchemy yra atviro kodo, nepriklauso nuo platformos ir nemokama biblioteka programinė įranga parašyta Python programavimo kalba, sukurta iš žemės veikti kaip duomenų bazės abstrakcijos bibliotekoje, ORM (Object Relational Mapper) ir SQL priemonių rinkinį Python.
Jei & rsquo; re Python kūrėjas, sqlalchemy duos jums visišką lankstumą ir jėgą SQL, teikiant visą kolekciją populiarus įmonės lygio atkaklumo modelius, kurie buvo skirti didelio našumo ir veiksmingas duomenų bazės access.Features ne glanceThe programinė įranga yra labai paprasta naudoti, pakankamai galinga, kad sudėtingų užduočių, ir modulinė. Su sqlalchemy galėsite organizuoti kol CRUD operacijas, leidžia Būlio išraiškos, funkcijas, veiklos vykdytojų, stalo slapyvardžiai, SĄJUNGOS sąlygų naudotis, susietas EXISTS sąlygas, kurti, įterpti, ištrinti ir atnaujinti užklausas, pasirenkami subqueries, susietas atnaujinimai, vidinė ir išorinis prisijungia ir įpareigoti parametrai.
Be to, jis gali būti naudojamas sukurti duomenų bazes, taip pat į savo mintis ir jausmus jiems parama pakrovimo susiję objektai ir kolekcijų, parama kuriant skaidrią atkaklumo objektų, remiantis modeliais, parama manipuliuoti ir statant domenų modelius, taip pat paramą sinchronizavimui visi su dabartine sandorio automatiškai pasikeičia.
Tarp kitų funkcijų, mes galime paminėti relationally orientuotą užklausų sistemą, kuri & rsquo; s gali atskleisti visus SQL ir tiksliai apskaičiuoti funkcionalumą, įskaitant koreliaciją, prisijungia ir antrines užklausas, į DBAPI sąveikos sluoksnį, pagrindinę SQL statybos sistemą, pilną, atskirą duomenų bazės abstrakcijos sluoksnis, parama Extensible SQL schemos metaduomenimis, išraiškos kalba, ryšio sujungimą, nestandartinių tipų ir tipo coercion.Supports Platus databasesThe programa apima tarmes dėl įvairių duomenų bazių serverių ir varikliams, įskaitant MySQL, PostgreSQL, Firebird, Oracle, Microsoft MS SQL Server, SQLite, Sybase, ir daugelis kitų.
Projektas yra nepriklausoma nuo operacinės sistemos, o tai reiškia, kad ji gali būti lengvai ir naudojamos bet GNU / Linux distributyvo, taip pat "Microsoft" "Windows", BSD ar Mac OS X operacinėms sistemoms. Abu 32-bit ir 64-bit įrangos architektūra palaiko šiuo metu
Kas naujo , šioje laidoje:.
- ORM:
- [ORM] [klaidą] [variklis] Ištaisyta klaida, kad įtakos paprastai tas pačias klases atveju, kaip ir # 3199, kai bus naudojamas pavadintas = True parametras. Kai kurie renginiai nepavyks užsiregistruoti, o kiti nebūtų remtis įvykių argumentus teisingai, paprastai, kada įvykis buvo & quot atveju; suvynioti & quot; prisitaikymui kokiu nors kitu būdu. & Quot; pavadino & quot; mechanika buvo pertvarkytas į nesikiša argumentas pasirašymo tikimasi vidaus įvynioti funkcijų.
- [ORM] [klaidą] Ištaisyta klaida, kad palietė daugelį klasių atveju, ypač ORM renginius, bet ir variklio renginius, kur įprasta logika & quot; de & quot pasikartojančius; nereikalingas kvietimas event.listen () su tais pačiais argumentais, žlugs dėl šių įvykių, kai klausytojas funkcija suvynioti. Teiginys būtų nukentėjo per registry.py. Tai teiginys jau buvo integruota į pasikartojimo čekį, su papildoma priemoka paprastesnį priemonėmis tikrinti pasikartojimo visur.
- [ORM] [klaidą] Fiksuotas įspėjimas, kad būtų išmesti, kai sudėtinga savarankiškai nukreiptų primaryjoin esančius funkcijas, tuo pačiu metu remote_side buvo nurodyta; įspėjimo siūlyčiau nustatant & quot; nuotolinio pusę & quot ;. Tai dabar tik skleidžia jei remote_side nėra.
- ORM deklaratyvi:
- [klaidą] [deklaratyvi] [ORM] Fiksuotas & quot; 'NoneType "objektas neturi atributo" betonas "& quot; naudojant AbstractConcreteBase kartu su poklasio, kad deklaruoja __abstract klaida __.
- Variklis:
- [variklis] [klaidą] mokėjimų vykdymo galimybės praėjo variklyje arba per create_engine.execution_options ar Engine.update_execution_options () nėra priimtas į specialią interneto ryšys, naudojamas inicijuoti per tarmę & quot; pirmiausia prijunkite & quot; Renginys; tarmės paprastai atlieka savo užklausas šiame etape, ir nė vienas iš dabartinių turimų variantų atveju reikėtų taikyti. Visų pirma, & quot; AutoCommit & quot; galimybė buvo sukelia bandymas AutoCommit per šio pradinio prisijungti, kuri nesugeba su AttributeError dėl nestandartinio būklės ryšį.
- [variklis] [klaidą] Styga raktai, kurie yra naudojami siekiant nustatyti stulpelių paveikė už INSERT ar UPDATE dabar rūšiuojami kai jie prisideda prie & quot; kaupiami talpyklos & quot; talpyklos raktas. Šie raktai anksčiau nebuvo deterministically užsisakyti, o tai reiškia tą patį teiginį galima talpyklos kelis kartus lygiavertėmis raktus, kainuoja tiek atminties, taip pat veiklos rezultatų.
- SQL:
- [SQL] [klaidą] Ištaisyta klaida, kai nemažai SQL elementų per SQL paketą nepavyks __repr __ () sėkmingai, dėl dingusio aprašą atributas, kuris tada iškviečia Rekursija perpildymo, kai vidaus AttributeError tada vėl -invoke __repr __ ().
- [SQL] [klaidą] korekcija stalo / index atspindys toks, kad jei puslapis ataskaitos skiltį, kuri nėra randama lentelėje, įspėjimas yra išskiriama ir stulpelyje yra praleidžiamas. Tai gali atsitikti dėl kai kurių specialių sistema stulpelių situacijose, kaip buvo pastebėta su "Oracle".
- [SQL] [klaidą] Ištaisyta klaida CTE kur literal_binds sudarytojas argumentą nebūtų visada teisingai dauginamos, kai vienas CTE nurodyta kita slapyvardžius CTE pareiškime.
- [SQL] [klaidą] Fiksuotas 0.9.7 regresijos sukelia # 3067 kartu su neteisingu pavadinimu vieneto bandymas toks, kad vadinamosios & quot; schemos & quot; rūšys, pavyzdžiui, Būlio ir Enum gali būti ne ilgiau marinuoti.
- PostgreSQL:
- [PostgreSQL] [bruožas] [pg8000] Parama pridėta & quot; sveikas kelių eilutė skaičius & quot; su pg8000 vairuotojas, kuris dažniausiai taikomas tada, kai naudojant versijų su ORM. Funkcija yra versija aptikta remiantis pg8000 1.9.14 ar daugiau naudoti. Ištraukite prašymo mandagumo Tony Locke.
- [PostgreSQL] [klaidą] peržiūrėti šį klausimą pirmiausia lopas į 0.9.5, matyt psycopg2 anketa .closed accessor nėra tokie patikimi kaip mes prielaida, todėl mes pridėjome aiškų patikrinti, ar išimties pranešimų & quot; SSL syscall klaida : Blogas failo deskriptorius & quot; ir & quot; SSL syscall klaida: EOF aptiko & quot; kai aptinka IS-atjungimo scenarijų. Mes ir toliau konsultuotis psycopg2 anketa connection.closed kaip pirmą patikrinimą.
- [PostgreSQL] [klaidą] Ištaisyta klaida, kai PostgreSQL JSON tipas negalėjo tęstis arba kitaip padaryti SQL NULL stulpelio reikšmė, o ne JSON užkoduota "niekinis". Siekiant paremti šią bylą, pokyčiai yra taip: "
- vertė niekinis () dabar gali būti nurodyta, kuri visada sukels NULL, dėl pareiškime.
- Naujas parametras JSON.none_as_null pridedama, kuri, kai Tiesa rodo, kad Python Nėra vertė turėtų būti peristed kaip SQL NULL, o ne JSON užkoduota "niekinis".
- Retrival iš nulio, nes nė viena taip pat remontuojami, išskyrus psycopg2, ty pg8000 DBAPIs.
- [PostgreSQL] [klaidą] išimtis vyniojimo sistema DBAPI klaidų dabar gali tilpti nestandartinius DBAPI išimtis, pavyzdžiui, psycopg2 TransactionRollbackError. Šios išimtys dabar bus iškeltas naudojant artimiausio poklasis į sqlalchemy.exc, į TransactionRollbackError, sqlalchemy.exc.OperationalError atveju.
- [PostgreSQL] [klaidą] Ištaisyta klaida postgresql.array objektą, jei palyginimas paprasto Python sąrašą trukdytų naudoti teisingą masyvo konstruktorius. Ištraukite prašymo mandagumo Andrew.
- [PostgreSQL] [klaidą] pridėjo remiami FunctionElement.alias () metodą funkcijų, pavyzdžiui, func konstruktas. Anksčiau elgesys šiuo metodu buvo neapibrėžta. Dabartinės elgesys imituoja, kad išankstinės 0.9.4, kuri yra tai, kad funkcija yra paversta vieno stulpelio IŠ išlyga tikroje pravardė, kur pati stulpelis anonimiškai vardu.
- MySQL:
- [MySQL] [klaidą] [mysqlconnector] Mysqlconnector nuo 2.0 versijos, tikriausiai šalutinis poveikis Python 3 suliejimo, dabar nesitiki proc požymiai (pvz naudojamas kaip modulio operatoriaus ir kiti) turi būti du kartus, net tada, kai naudojant & quot; pyformat & quot; jungiasi parametras formatas (šis pokytis yra ne dokumentais Mysqlconnector). Tarmė dabar tikrina py2k ir mysqlconnector mažiau nei 2.0 versija, kai aptinka, jei modulis operatorius turėtų būti suteikta, taip %% arba%.
- [MySQL] [klaidą] [mysqlconnector] Unicode "SQL dabar patvirtinta MySQLconnector versija 2.0 ir aukščiau; už Py2k ir MySQL & lt; 2.0, stygos yra užkoduoti.
- SQLite:
- [SQLite] [klaidą] Renkantis iš SĄJUNGOS naudojant pridėtą duomenų bazės failą, pysqlite vairuotojas ataskaitos stulpelių pavadinimai in cursor.description kaip "dbname.tablename.colname", vietoj "tablename.colname", nes ji paprastai daro už SĄJUNGOS (atkreipkite dėmesį, kad jis turėtų būti tik "colname" tiek, bet mes dirbame aplink jį). Stulpelis vertimas logika čia buvo pakoreguotas, kad gauti labiausiai į dešinę nutolusį raktą, o ne antrą raktą, todėl ji dirba abiem atvejais. Sprendimas mandagumo Tony Roberts.
- MSSQL:
- [MSSQL] [klaidą] Ištaisyta versija styginių atpažinimas pymssql tarmės dirbti su Microsoft SQL Azure, kuris keičia žodis & quot; SQL Server & quot; & quot; SQL Azure & quot;.
- orakulas:
- [orakulas] [klaidą] Fiksuotas seniai klaidą Oracle tarmės, kur jungiasi parametrų pavadinimai, pradėjo su skaičiais nebūtų cituojamas, kaip "Oracle" nemėgsta skaitmenys surištiųjų parametrų pavadinimus.
- misc:
- [klaidą] [deklaratyvi] Ištaisyta vargu lenktynių būklė stebima kai egzotinių galutinio naudotojo konfigūracijos, kur bandoma ieškoti "& quot; dubliuoja klasės pavadinimas & quot; Deklaratyviose trenktųsi ant ne-visiškai išvalytos viršų silpna nuoroda, susijusi su kai kurių kitų klasė yra pašalintos; Čia patikrinimas dabar užtikrina weakref dar nuorodos objektą prieš ragindami jį toliau.
- [klaidą] [ext] Ištaisyta klaida užsakymo sąrašą, kur daiktų Kad būtų išmesti per surinkimo pakeisti renginį, jei reorder_on_append vėliava buvo nustatytas Tiesa. Nustatyti užtikrina, kad užsakymas sąrašą tik poveikis sąrašo, kuris yra aiškiai susijęs su objektu.
- [klaidą] [ext] Ištaisyta klaida, kai ext.mutable.MutableDict nepavyko įgyvendinti atnaujinimas () žodyno metodą, todėl nėra gaudyti pakeitimus. Ištraukite prašymas mandagumo Mattas Chisholm.
- [klaidą] [ext] Ištaisyta klaida, kai užsakymą poklasio ext.mutable.MutableDict būtų neįmanoma rodyti & quot; versti & quot; operacija, ir verčiau grįžti paprasto ext.mutable.MutableDict. Ištraukite prašymas mandagumo Mattas Chisholm.
- [klaidą] [baseinas] Ištaisyta klaida Ryšium baseinas medienos ruoša, kur & quot; ryšys patikrinome & quot; debug ruoša pranešimą nebūtų išmesti, jei kirtimai buvo įsteigti naudojant logging.setLevel (), o ne naudojant echo_pool vėliava. Bandymai teigti, kad šiam registravimui buvo pridėta. Tai regresijos, kad buvo įvesta 0.9.0.
Kas naujo versijos 0.5.0:
- naujos funkcijos
- Bendra
- Dokumentacija buvo konvertuota į Sfinksas. Visų pirma, sukurtas API dokumentacija buvo pastatytas į visiškai išsiskleidęs & quot; API Reference & quot; skyriuje, kuris organizuoja redakcinę dokumentus kartu su generuojami docstrings. Kryžiaus susiejimas tarp skyrių ir API docs yra žymiai pagerėjo, javascript yra varomas paieškos funkcija yra numatyta, ir visiškai indeksas visų klasių funkcijų ir nariams yra pateikiama.
- setup.py dabar importuoja setuptools tik pasirinktinai. Jei nėra, distutils yra naudojamas. Naujas & quot; PIP & quot; montuotojas, rekomenduojama per easy_install kaip jis įdiegia labiau supaprastinta būdu.
- pridėjo labai pagrindinę iliustracija postgis integracijos pavyzdžius aplanką.
- ORM
- Query.with_polymorphic () dabar sutinka trečią argumentą & quot; diskriminatorių & quot; kurie bus pakeisti mapper.polymorphic_on vertę toje užklausą. Mapperiais patys nebereikia polymorphic_on reikia nustatyti, net jei Mapper turi polymorphic_identity. Kai nėra nustatytas, Mapper bus įkelti non-polymorphically pagal nutylėjimą. Kartu šie du savybės leidžia ne polimorfinė betono paveldėjimo sąrankos naudoti polimorfinį pakrovimo ant vienam užklausą pagrindu, nes betono konfigūracijos yra linkę daug klausimų, kai naudojamas polymorphically visais atvejais.
- dynamic_loader priima query_class = tinkinti užklausa klases naudojamos tiek dinaminės rinkimo ir užklausas, pastatytų iš jo.
- query.order_by () priima Nieko kuris bus pašalinti bet kokį nebaigtą order_by valstybę nuo užklausos, taip pat atšaukti bet kokį Mapper / Santykis neužpildė užsakymą. Tai visų pirma naudinga privalomais užsakymo nurodyta ant dynamic_loader (). [Bilietas: 1079]
- SQL
- RowProxy objektai gali būti naudojamas vietoj žodynas argumentų siunčiamų connection.execute () ir draugais. [Bilietas: 935] "
- tarmė
- Pridėta naują description_encoding atributą tarmės, kuris naudojamas kodavimas stulpelio pavadinimą tvarkydamos metaduomenis. Tai paprastai naudojama UTF-8.
- MSSQL
- Pridėta nauja MSGenericBinary tipo. Tai žemėlapiai į Binary tipo, todėl jis gali įgyvendinti specializuotą elgesį gydant ilgis nurodytas tipus fiksuoto pločio dvejetainis tipų ir ne ilgis tipų kaip laisvojo kintamojo ilgio dvejetainiai.
- Pridėta naujų tipų: MSVarBinary ir MSImage. [Bilietas: 1249]
- pridėtinės MSReal, MSNText, MSSmallDateTime, MSTime, MSDateTimeOffset ir MSDateTime2 tipų
- SQLite
- Stalo atspindys dabar saugo faktinį DefaultClause vertę skiltyje. [Bilietas: 1266]
- taisymo, elgsenos pokyčiai
- Bendra
- ORM
- Išimtis metu surinktos compile_mappers () dabar konservuoti suteikti & quot; lipni elgesį & quot;
- Jei hasattr () raginti iš anksto parengta susieto atributas sukelia Nepavykus sudaryti ir slopina išimtį, po kompiliacija yra užblokuotas ir išimtis bus pakartota kitame kompiliavimo () skambučių. Ši problema atsiranda dažnai naudojant deklaratyvi.
- property.of_type () dabar pripažįstamos vieno stalo paveldi taikinį, kai naudojamas prop.of_type (..) kontekste. Bet () / yra (), taip pat query.join (paspara. of_type (...)).
- query.join () kelia klaidą, kai tikslinė prisijungti neatitinka nuosavybės pagrindu atributas
- o tai mažai tikėtina, kas tai daro, sqlalchemy autorius buvo kaltas šiuo konkrečiu loosey-Kvailys elgesį.
- Ištaisyta klaida, kai naudojant weak_instance_map = false, jei modifikuoti įvykiai nebūtų sulaikytas už pylimas (). [Bilietas: 1272]
- Fiksuotas kai giliai & quot; stulpelis korespondencija & quot; klausimai, kurie gali turėti įtakos tam užklausa pareikšto pasirenkamasis, kuriame keletą versijų to paties stalo, taip pat profesinės sąjungos ir panašūs, kuriame išdėstyti paties stalo stulpelius skirtingų stulpelių pozicijas įvairiuose lygmenyse. [Bilietas: 1268]
- Custom lyginamosios klasės, naudojamos kartu su column_property (), santykis () ir tt galima apibrėžti naujus palyginimo metodus ant komparatoriaus, kuris taps prieinama per __getattr __ () ant InstrumentedAttribute. Atsižvelgiant į sinonimas () arba comparable_property () atveju atributai yra sprendžiami pirmiausia vartotojo apibrėžta deskriptorius, tada vartotojo apibrėžta komparatoriaus.
- Pridėta ScopedSession.is_active accessor. [Bilietas: 976] "
- Ar perduoti susietus atributus ir stulpelių objektus kaip raktus query.update ({}). [Bilietas: 1262]
- atvaizduotos atributai praėjo vertes (), kurių išraiška lygio įdėklu () arba atnaujinimo () bus panaudoti susieto kolonos, raktus ne tai, kad iš susieto atributas.
- Ištaisyta problema su Query.delete () ir Query.update () neveikia tinkamai su BIND parametrus. [Bilietas: 1242]
- Query.select_from (), from_statement () užtikrinti, kad teikiama argumentas yra FromClause arba Tekstas / Pasirinkti / Sąjungos, atitinkamai.
- Užklausa () gali būti perduota & quot; sudėtinis & quot; priskirti kaip stulpelio žodžio ir jis bus išplėstas. Šiek tiek susijusi su [bilieto: 1253].
- Užklausa () yra šiek tiek tvirtesnis, kai praėjo įvairius stulpelio žodžius, pavyzdžiui, stygos, clauselists, teksto () konstruktai (o tai gali reikšti, kad tiesiog kelia klaidą daugiau gražiai).
- Pirmasis () veikia kaip tikimasi su Query.from_statement ().
- Ištaisyta klaida įvesta 0.5rc4 įtraukiant nori pakrauti ne veikimo savybes, kurios buvo įtraukta į Mapper po kompiliavimo naudojant add_property () arba ekvivalentas.
- Ištaisyta klaida, kur daugelis su daugeliu atžvilgiu () su viewonly = True nebūtų tinkamai atsižvelgta į ryšį tarp secondary- & gt;. Nuotolinio
- Duplicate prekė sąrašo pagrindu renkant bus išlaikytas išduodant įterpia & quot; vidurinė & quot; lentelė iš daugelio su daugeliu atžvilgiu. Darant prielaidą, kad M2M stalo unikalus ar pirminis raktas apribojimas ant jo, tai bus vietoj padidinti laukiamą apribojimo pažeidimą tyliai nuleisti pasikartojančius įrašus. Atkreipkite dėmesį, kad senas elgesys lieka vienas su daugeliu atžvilgiu, nes surinkimo įrašai Tokiu atveju nesukeltų INSERT ir SQLA daro rankiniu būdu policijos kolekcijas. [Bilietas: 1232]
- Query.add_column () gali priimti FromClause objektus tokiu pačiu būdu, kaip session.query () galite.
- Palyginimas daug su vienu susijusių su NULL yra tinkamai konvertuoti į IS NOT NULL remiantis ne _ ().
- Papildomi patikrinimai pridėta siekiant užtikrinti aiškų primaryjoin / secondaryjoin yra ClauseElement atvejų, užkirsti kelią daugiau paini klaidų vėliau. [Bilietas: 1087]
- Geresnis Mapper () patikrinti ne klasėse. [Bilietas: 1236]
- comparator_factory argumentas dabar dokumentais ir palaikoma visų MapperProperty tipų, įskaitant column_property (), atžvilgiu (), backref () ir sinonimas () [bilietas: 5051].
- Pasikeitė pavadinimą PropertyLoader į RelationProperty, būti suderinamas su visais kitais vardais. PropertyLoader vis dar yra kaip sinonimas.
- fiksuotas & quot; dvigubas iter () & quot; skambutis sukelia autobusų klaidas Shard API pašalinti klystantis result.close () likę iš 0,4 versija. [Bilietas: 1099] [bilietas: 1228]
- pagaminti Session.merge kaskadomis negali sukelti autoflush. Išspręsti susijunge atvejų vis anksti įstatyti trūkstamų verčių.
- Du pataisymai, padedanti užkirsti kelią "out-of-band stulpelius gražu teikiamos polymorphic_union paveldėjimo scenarijus (kuris vėliau sukelia papildomų lentelių turi būti teikiamos per IŠ sąlyga sukelia stačiakampių gaminių):
- patobulinimai & quot; stulpelio prisitaikyti & quot; už a- & gt; B- & gt;. c paveldėjimo situacijos geriau rasti, kurie yra susiję vienas su kitu per kelis lygius Netiesiogiai, o ne padaryti stulpelį nepritaikytose stulpelius
- & quot; polimorfinė diskriminuojantis & quot; stulpelis suteiktas tik už faktinį mapper yra abejonės prieš. Stulpelis nebus & quot; traukiamas & quot; iš poklasiui arba superklasę mapper nes tai nėra reikalinga.
- Fiksuotas shard_id argumentas ShardedSession.execute (). [Bilietas: 1072]
- SQL
- Stulpeliai vėl gali būti procentų ženklus pagal jų pavadinimus. [Bilietas: 1256]
- sqlalchemy.sql.expression.Function dabar visuomenės klasė. Jis gali būti poklasiu teikti apibrėžtos vartotojo SQL funkcijas imperatyvaus stilių, įskaitant iš anksto nustatytą elgesį. Postgis.py pavyzdys iliustruoja vieną naudojimą tai.
- PickleType dabar palaiko == palyginimas pagal nutylėjimą, jei įeinantis objektas (pvz dict) įgyvendina __eq __ (). Jei objektas neįgyvendina __eq __ () ir permainingas = Tiesa, nepritarimas įspėjimas pakeliamas.
- Ištaisyta importo Upiorność į sqlalchemy.sql ne eksportuoti __names__. [BILIETAS: 1215]
- Naudodami tą patį ForeignKey objektą pakartotinai kelia klaidą vietoj tyliai jei vėliau. [Bilietas: 1238]
- Pridėta NotImplementedError už params () metodą ant Įterpti / atnaujinti / ištrinti konstruktus. Šie elementai šiuo metu nepalaiko šios funkcijos, kuri taip pat būtų šiek tiek klaidinantis, palyginti su vertybėmis ().
- atsispindi užsienio raktai bus tinkamai suraskite savo etalonu stulpelį, net jei stulpelis buvo suteikta & quot; raktą & quot; priskirti skiriasi nuo atspindi pavadinimą. Tai pasiekiama per naują vėliava ForeignKey / ForeignKeyConstraint vadinamas & quot; & quot ;, link_to_name Jei tai tiesa tai vardas yra nurodyta, kad skiltyje vardu, o ne jos priskirti raktas. [Bilietas: 650] "
- pasirinkite () gali priimti ClauseList kaip tokiu pačiu būdu, kaip stalo arba kito įjungiama ir vidinius raiškos stulpelyje bus naudojamas kaip stulpelių elementų. [Bilietas: 1253]
- & quot; pasyvus & quot; vėliava session.is_modified () yra tinkamai dauginami į atributas vadybininkas.
- sąjunga () ir union_all () nebus kulti jokios order_by (), kad buvo taikomas pasirinkite () s viduje. Jei sąjunga () pasirinkite () su order_by () (matyt remti LIMIT / Ofsetinė), taip pat turėtumėte skambinti self_group () ant jo taikyti skliausteliuose.
- Variklis / baseinas
- Connection.invalidate () tikrina uždaroje statusą, kad būtų išvengta atributų klaidų. [Bilietas: 1246]
- NullPool palaiko vėl nesėkmės elgesį. [Bilietas: 1094]
- Pridėta už pradinio baseinas kūrimo unikalų identifikatorių naudojant pool.manage (dbapi). Tai apsaugo nuo nedidelį atvejį & quot; Dogpile & quot; elgesys, kuris priešingu atveju atsirasti sunkios apkrovos paleidimo. [Bilietas: 799] "
- _execute_clauseelement () nueina yra privati metodas. Sukuriate Ryšio nereikia, kad dabar ConnectionProxy yra prieinama.
- dokumentacija
- Bilietai [bilietų: 1200] [bilietų: 1149].
- Pridėta pastaba apie create_session () nutylėjimą.
- Pridėta skyriuje apie metadata.reflect ().
- Atnaujinta "TypeDecorator` skyriuje.
- perrašė & quot; threadlocal & quot; strategija skyriuje docs dėl neseniai painiavoje šią funkciją.
- Pašalinta blogai pasenę "polymorphic_fetch" ir "select_table" docs iš paveldėjimo, perdarytas antrą pusę & quot; prisijungė stalo paveldėjimo & quot;.
- Dokumentais "comparator_factory` kwarg, pridėjo naują dok skyrių & quot; Custom komparatoriai & quot;.
- MSSQL
- išimant datos / laiko rūšys. `` Smalldatetime`` duomenų tipas nebėra nukerta tik dieną, o dabar bus susietas su MSSmallDateTime tipo. [Bilietas: 1254]
- Ištaisyta su skaitmenys klausimą priimti int.
- prijungto `` char_length`` į `` LEN () `` funkciją.
- Jei `` INSERT`` apima subselect `` INSERT`` konvertuojamas iš `` INSERT INTO VALUES`` statyti į `` INSERT INTO SELECT`` konstruktą.
- Jei stulpelyje yra dalis `` primary_key`` bus `` ne NULL`` nuo MSSQL neleidžia `` NULL`` į primary_key stulpelių.
- `` MSBinary`` dabar grįžta `` BINARY`` vietoj `` IMAGE``. Tai atgal nesuderinama pokytis, kad `` BINARY`` yra fiksuoto ilgio duomenų tipas o `` IMAGE`` yra kintamo ilgio duomenų tipas. [Bilietas: 1249]
- `` get_default_schema_name`` dabar atsispindi nuo duomenų bazėje remiantis vartotojo numatytąją schemą. Tai veikia tik su MSSQL 2005 ir vėliau. [Bilietas: 1258]
- Pridėta lyginimas parama per naują lyginimas argumentas naudoti. Tai palaiko šių tipų: char, nchar, varchar, nvarchar, tekstą, NTEXT. [Bilietas: 1248]
- Pokyčiai prijungimo styginių parametrų pirmenybę DSN kaip numatytąjį specifikacijų pyodbc. Žr mssql.py docstring išsamias naudojimo instrukcijoje.
- Pridėta eksperimentinės parama taškais išsaugoti. Šiuo metu nėra iki galo dirbti su sesijų.
- Parama trijų lygių stulpelio nullability: NULL, NOT NULL, ir duomenų bazės yra sukonfigūruotas automatiškai. Numatytasis skiltis konfigūracija (nullable = True) dabar sukurs NULL DDL. Anksčiau ne specifikacija buvo išmesta ir duomenų bazės nutylėjimą įsigaliotų (paprastai NULL, bet ne visada). Norėdami aiškiai paprašyti duomenų bazės pagal nutylėjimą, konfigūruoti stulpelius su nullable = Nėra ir ne specifikacija bus išmetami DDL. Tai atgal nesuderinama elgesys. [Bilietas: 1243]
- Postgres
- & quot;% & quot; ženklai tekstą () konstruktai yra automatiškai pabėgo į & quot; %% & quot ;. Dėl atgal nesuderinamos su šio pokyčio pobūdžio įspėjimas išmetami, jei "%%" aptinkama eilutę. [Bilietas: 1267]
- Skambinimas alias.execute () kartu su server_side_cursors nekils AttributeError.
- Pridėta puslapis atspindys parama Postgres, naudojant didelį pleistrą, mes seniai pamirštą, Ken Kuhlman pateiktą. [Bilietas: 714] "
- Oracle "
- Koreguota iš create_xid formatas (), kad remontas dviejų fazių įsipareigoti. Mes dabar turime lauko ataskaitas Oracle dvifazio įsipareigoja tinkamai veikia su šio pakeitimo.
- Pridėta OracleNVarchar tipo, gamina NVARCHAR2, taip pat poklasius Unicode taip, kad convert_unicode = true pagal nutylėjimą. NVARCHAR2 atspindi į šio tipo automatiškai, todėl šie stulpeliai perduoti unicode ant atsispindi stalo be aiškaus convert_unicode = true vėliavomis. [Bilietas 1233]
- Ištaisyta klaida, kuri buvo užkirsti kelią iš params tam tikrų rūšių iš gaunamos; dėka tona huddlej ne wwu.edu! [Bilietas: 1265]
- mysql
- & quot;% & quot; ženklai tekstą () konstruktai yra automatiškai pabėgo į & quot; %% & quot ;. Dėl atgal nesuderinamos su šio pokyčio pobūdžio įspėjimas išmetami, jei "%%" aptinkama eilutę.
- Ištaisyta klaida yra išimtis pakelti, kai FK stulpeliai nekelia refleksijos metu. [Bilietas: 1241]
- Ištaisyta klaida įtraukiant atspindys nuotolinio schemos stalo su užsienio rakto ref į kitą lentelę tą schemą.
- associationproxy
- Asociacijos proxy savybės save prieinama klases, pvz MyClass.aproxy. Anksčiau ši vertinami siekiant Nėra.
- deklaratyvi
- pilnas sąrašas argumentų priimami kaip eilutę iki backref () apima "primaryjoin", "secondaryjoin", "antrinių", "foreign_keys", "remote_side", "order_by".
Reikalavimai :
- Python
Komentarai nerastas