SQLAlchemy er en åpen kildekode, plattformuavhengig og gratis bibliotek programvare skrevet i Python programmering språk og designet fra grunnen av for å fungere som en database abstraksjon bibliotek, ORM (Object Relational Mapper) og SQL verktøykasse for Python.
Hvis du & rsquo; re en Python-utvikler, vil SQLAlchemy gi deg full fleksibilitet og kraft SQL, og gir en komplett samling av populære enterprise-nivå utholdenhet mønstre, som er konstruert for høy ytelse og effektiv database access.Features på en glanceThe programvare er svært enkel å bruke, kraftig nok for avanserte oppgaver og modulær. Med SQLAlchemy vil du være i stand til å organisere ventende crud operasjoner, tillater bruk av boolske uttrykk, funksjoner, operatører, bord aliaser, UNION klausuler, korrelert EXISTS klausuler, opprette, sette inn, slette og oppdatere spørringer, valg subqueries, korrelerte oppdateringer, indre og ytre kobles, og bindings parametere.
I tillegg kan det brukes til å generere databaser, samt å introspect dem, støtte for lasting relaterte gjenstander og samlinger, støtte for å opprette gjennomsiktig utholdenhet av objekter basert på mønstre, støtte for å manipulere og konstruere domenemodeller, samt støtte for synkronisering alle endringene med den aktuelle transaksjonen automatisk.
Blant andre funksjoner kan vi nevne et relasjonelt orienterte spørring system som & rsquo; s stand til å utsette alle SQL & rsquo; s funksjonalitet, inkludert korrelasjon, tiltrer og delspørringer, en DBAPI interaksjon lag, en kjerne SQL byggesystem, et komplett, frittstående database abstraksjon lag, støtte for utvidbar SQL skjema metadata, uttrykk språk, tilkoblingsgrupper, tilpassede typer og type coercion.Supports et bredt utvalg av databasesThe Programmet omfatter dialekter for et bredt utvalg av databaseservere og motorer, inkludert MySQL, PostgreSQL, Firebird, Oracle, Microsoft SQL Server, SQLite, Sybase, og mange andre.
Prosjektet er uavhengig av et operativsystem, noe som betyr at det lett kan behandles og brukes på en GNU / Linux-distribusjon, så vel som på Microsoft Windows, BSD eller Mac OS X operativsystemer. Både 32-bits og 64-bits maskinvarearkitekturer støttes på denne tiden
Hva er nytt i denne utgaven:.
- orm:
- [orm] [bug] [motor] Fikset bug som påvirket generelt de samme klasser av hendelsen som for # 3199, når den navngitte = True parameter ville bli brukt. Noen hendelser ville mislykkes å registrere, og andre ville ikke påberope hendelses argumenter riktig, vanligvis i tilfelle når en hendelse var & quot; innpakket & quot; for tilpasning på annen måte. & Quot; kalt & quot; mekanikere har blitt omorganisert til å ikke forstyrre argumentet signatur forventet av interne wrapper funksjoner.
- [orm] [bug] Fikset bug som påvirket mange klasser av hendelsen, særlig ORM hendelser, men også motor hendelser, hvor den vanlige logikken i & quot; de duplisere & quot; en redundant kall til event.listen () med de samme argumentene ville mislykkes, for disse hendelsene der lytteren funksjonen er innpakket. En påstand ville bli rammet i løpet registry.py. Denne påstanden er nå integrert i deduplisering sjekk, med den ekstra bonus på en enklere måte å sjekke deduplisering over hele linja.
- [orm] [bug] Fikset advarsel som ville sende ut når en kompleks selvreferensiell primaryjoin inneholdt funksjoner, mens på samme tid remote_side ble spesifisert; advarselen ville foreslå å sette & quot; fjern side & quot ;. Det nå bare avgir hvis remote_side er ikke til stede.
- orm deklarative:
- [bug] [deklarative] [orm] Fast & quot; 'NoneType' objekt har ingen attributt 'konkret' & quot; feil ved bruk AbstractConcreteBase i forbindelse med en underklasse som erklærer __abstract __.
- motor:
- [motor] [bug] Henrettelsen alternativer som sendes til en motor enten via create_engine.execution_options eller Engine.update_execution_options () ikke gått til den spesielle Connection brukes til å initialisere dialekten i & quot; først koble & quot; hendelse; dialekter vil vanligvis utføre sine egne spørsmål i denne fasen, og ingen av de nåværende tilgjengelige alternativene bør brukes her. Spesielt & quot; autocommit & quot; alternativet var årsaken et forsøk på å autocommit innenfor denne innledende koble som ville mislykkes med en AttributeError på grunn av ikke-standard state of the Connection.
- [motor] [bug] De streng nøkler som brukes til å bestemme kolonnene påvirket for en INSERT eller UPDATE er nå sortert når de bidra til & quot; kompilert cache & quot; cache-tasten. Disse nøklene ble tidligere ikke deter bestilt, noe som betyr at den samme setningen kunne bli lagret flere ganger på tilsvarende nøkler, koster både i form av minne samt ytelse.
- sql:
- [sql] [bug] Fikset bug hvor en god del av SQL elementer innen sql pakken ville mislykkes i å __repr __ () med hell, på grunn av en manglende beskrivelse attributt som da ville påkalle en rekursjon overløp når en intern AttributeError ville deretter re -invoke __repr __ ().
- [sql] [bug] En justering til bord / indeks refleksjon slik at hvis en indeks rapporterer en kolonne som ikke er funnet å være til stede i tabellen, er en advarsel høres og kolonnen hoppes over. Dette kan skje for noen spesielle system kolonne situasjoner som har blitt observert med Oracle.
- [sql] [bug] Fikset bug i CTE hvor literal_binds kompilator argument ville ikke alltid være riktig spredte når man CTE henvist til et annet alias CTE i en uttalelse.
- [sql] [bug] Fixed 0.9.7 regresjon forårsaket av # 3067 i forbindelse med en mis-navngitt enhet test slik at såkalt & quot; skjema & quot; typer som boolsk og Enum ikke lenger kunne syltet.
- postgresql:
- [postgresql] [funksjon] [pg8000] Support er lagt for & quot; tilregnelig multi rad count & quot; med pg8000 driver, som gjelder for det meste til når du bruker versjonskontroll med ORM. Funksjonen er versjons oppdaget basert på pg8000 1.9.14 eller høyere i bruk. Trekk forespørsel høflighet Tony Locke.
- [postgresql] [bug] En revidere til dette problemet først lappet i 0.9.5, tilsynelatende psycopg2 sin .closed tilbehør er ikke like pålitelig som vi antok, så vi har lagt en eksplisitt sjekk for unntaksmeldinger & quot; SSL syscall feil : Bad file descriptor & quot; og & quot; SSL syscall feil: EOF oppdaget & quot; når det oppdages en IS-frakoblings scenario. Vi vil fortsette å konsultere psycopg2 er connection.closed som en første sjekk.
- [postgresql] [bug] Fikset bug hvor Postgresql JSON typen var ikke i stand til å vedvare eller på annen måte gjengi en SQL NULL kolonneverdi, snarere enn en JSON-kodet 'null'. For å støtte denne saken, er endringene som følger:
- Verdien null () kan nå spesifiseres, som alltid vil resultere i en NULL-verdi resulterer i setningen.
- En ny parameter JSON.none_as_null er lagt til, som når sant indikerer at Python Ingen verdien skal peristed som SQL NULL, snarere enn JSON-kodet 'null'.
- Retrival av NULL som Ingen er også reparert for andre enn psycopg2, nemlig pg8000 DBAPIs.
- [postgresql] [bug] Unntaket pakkesystem for DBAPI feil kan nå romme ikke-standard DBAPI unntak, for eksempel den psycopg2 TransactionRollbackError. Disse unntak vil nå bli hevet ved hjelp av det nærmeste tilgjengelige underklassen i sqlalchemy.exc, i tilfelle av TransactionRollbackError, sqlalchemy.exc.OperationalError.
- [postgresql] [bug] Fixed bug i postgresql.array objekt der sammenlignet med en vanlig Python liste ville mislykkes i å bruke riktig matrise konstruktør. Trekk forespørsel høflighet Andrew.
- [postgresql] [bug] la til et støttet FunctionElement.alias () metoden til funksjoner, for eksempel den func konstruere. Tidligere atferd for denne metoden var udefinert. De nåværende atferd ligner at av pre-0.9.4, som er at funksjonen er slått inn i en enkelt-kolonne FROM-leddet med den gitte alias navn, hvor selve kolonnen er anonymt heter.
- mysql:
- [mysql] [bug] [mysqlconnector] Mysqlconnector fra versjon 2.0, sannsynligvis som en bivirkning av python 3 merge, nå forventer ikke prosenttegn (for eksempel som brukes som modulus operatør og andre) til å bli doblet, selv når du bruker & quot; pyformat & quot; bundet parameter format (denne endringen er ikke dokumentert ved Mysqlconnector). Dialekt sjekker nå for py2k og for mysqlconnector mindre enn versjon 2.0 når det oppdages dersom modulus operatør skal gjengis som %% eller%.
- [mysql] [bug] [mysqlconnector] Unicode SQL er nå passert for MySQLconnector versjon 2.0 og høyere; for Py2k og MySQL & lt; 2.0, er strenger kodet.
- sqlite:
- [sqlite] [bug] Når du velger fra en UNION bruker en vedlagt databasefil, navnene pysqlite driver rapporter kolonne i cursor.description som 'dbname.tablename.colname', i stedet for 'tablename.colname "som det normalt gjør for en UNION (merk at det er ment å bare være "colname 'for begge, men vi jobber rundt det). Kolonnen oversettelse logikken her er justert for å hente den lengst til høyre token, snarere enn den andre token, slik at det fungerer i begge tilfeller. Løsning høflighet Tony Roberts.
- MSSQL:
- [MSSQL] [bug] Fikset versjon streng deteksjon i pymssql dialekt til å jobbe med Microsoft SQL Azure, som endrer ordet & quot; SQL Server & quot; til & quot; SQL Azure & quot;.
- orakel:
- [oracle] [bug] Fast langvarige feil i Oracle dialekt der bundet parameternavn som startet med tall ikke ville bli sitert, som Oracle ikke liker numerics i innbundne parameternavn.
- misc:
- [bug] [deklarative] Fikset en usannsynlig race condition observert i noen eksotiske sluttbruker oppsett, der forsøket på å sjekke for & quot; duplisere klasse navn & quot; i deklarativ ville truffet på en ikke-helt-renset opp svak referanse knyttet til noen annen klasse blir fjernet; sjekken her sikrer nå weakref fortsatt refererer til et objekt før du ringer på det videre.
- [bug] [ext] Fixed bug i bestilling liste der rekkefølgen av elementer vil bli kastet ut i løpet av en samling erstatte hendelse, hvis reorder_on_append flagg ble satt til Sann. Reparasjonen sikrer at liste bestilling bare påvirker liste som er eksplisitt knyttet til objektet.
- [bug] [ext] Fixed bug der ext.mutable.MutableDict unnlatt å gjennomføre oppdateringen () ordbok metode, og dermed ikke fanger endringer. Trekk forespørsel høflighet Matt Chisholm.
- [bug] [ext] Fikset bug hvor en tilpasset underklasse av ext.mutable.MutableDict ikke ville dukke opp i en & quot; tvinge & quot; drift, og ville i stedet returnere en vanlig ext.mutable.MutableDict. Trekk forespørsel høflighet Matt Chisholm.
- [bug] [pool] Rettet feil i forbindelse basseng logging hvor & quot; forbindelse sjekket ut & quot; feilsøkingslogging meldingen ikke ville slippe ut dersom logging ble satt opp ved hjelp av logging.setLevel (), heller enn å bruke echo_pool flagg. Tester for å hevde dette logging har blitt lagt til. Dette er en regresjon som ble introdusert i 0.9.0.
Hva er nytt i versjon 0.5.0:
- nye funksjoner
- Generelt
- Dokumentasjon har blitt omgjort til Sphinx. Spesielt har den genererte API dokumentasjon blitt bygget til en fullverdig & quot; API Reference & quot; seksjon som organiserer redaksjonell dokumentasjon kombinert med genererte docstrings. Kryssbinding mellom seksjoner og API docs er vesentlig forbedret, en javascript-drevne søkefunksjonen er gitt, og en full oversikt over alle klasser, funksjoner og medlemmer er gitt.
- setup.py importerer nå setuptools bare eventuelt. Hvis dette ikke finnes, blir distutils anvendes. Den nye & quot; pip & quot; installatør er anbefalt over easy_install som det installeres på en mer forenklet måte.
- lagt en ekstremt enkel illustrasjon av en PostGIS integrasjon til eksempler mappen.
- orm
- Query.with_polymorphic () aksepterer nå et tredje argument & quot; discriminator & quot; som vil erstatte verdien av mapper.polymorphic_on for det aktuelle søket. Mappers seg ikke lenger krever polymorphic_on å bli satt, selv om mapper har en polymorphic_identity. Når den ikke er angitt, vil mapper laste non-polymorphically som standard. Sammen utgjør disse to funksjonene gir en ikke-polymorfe betong arv oppsett for å bruke polymorfe lasting på en per-spørring basis, siden konkrete oppsett er utsatt for mange problemer når det brukes polymorphically i alle tilfeller.
- dynamic_loader aksepterer en query_class = for å tilpasse Kriterier klasser brukes til både dynamisk samling og spørringene bygget fra det.
- query.order_by () godtar ingen som vil fjerne eventuelle ventende order_by staten fra spørringen, samt utjevne noen mapper / forhold konfigurert bestilling. Dette er først og fremst nyttig for overstyring av bestilling spesifisert på en dynamic_loader (). [Billett: 1079]
- sql
- RowProxy objekter kan brukes i stedet for ordbok argumenter sendt til connection.execute () og venner. [Billett: 935]
- dialekt
- Lagt til en ny description_encoding attributtet på dialekt som brukes for kolonnenavnet koding ved behandling av metadata. Dette vanligvis standard er utf-8.
- MSSQL
- lagt i en ny MSGenericBinary type. Dette tilordnet til Binary typen slik at den kan gjennomføre spesialisert oppførselen til behandling lengde spesifiserte typer som anleggs bredde Binary typer og typer ikke-lengde som en ubundet variabel lengde Binary type.
- Lagt inn nye typer: MSVarBinary og MSImage. [Billett: 1249]
- Lagt i MSReal, MSNText, MSSmallDateTime, MSTime, MSDateTimeOffset, og MSDateTime2 typer
- sqlite
- Tabell refleksjon lagrer nå selve DefaultClause verdien for kolonnen. [Billett: 1266]
- feilrettinger, atferdsendringer
- Generelt
- orm
- Unntak hevet under compile_mappers () er nå bevart for å gi & quot; klebrig oppførsel & quot;
- hvis en hasattr () samtale på en pre-kompilert kartlagt attributt utløser en sviktende kompilere og undertrykker unntak, er påfølgende samling blokkert og unntak vil bli gjentatt på neste kompilere () kall. Dette problemet oppstår ofte når du bruker deklarative.
- property.of_type () er nå anerkjent på en enkelt-tabellen arve mål, når det brukes i sammenheng med prop.of_type (..). Noen () / har (), samt query.join (prop. of_type (...)).
- query.join () hever en feil når målet for den bli samsvarer ikke med eiendommen baserte attributt
- mens det er lite sannsynlig at noen gjør dette, SQLAlchemy forfatteren var skyldig i denne spesielle loosey-goosey oppførsel.
- Rettet feil ved bruk weak_instance_map = False hvor modifiserte hendelser ikke ville bli fanget opp for en flush (). [Billett: 1272]
- Fast noen dype & quot; kolonne korrespondanse & quot; problemstillinger som kan påvirke en spørring gjort mot en valgbar som inneholder flere versjoner av samme bord, samt fagforeninger og lignende som inneholdt de samme tabellkolonner i forskjellige kolonne stillinger på ulike nivåer. [Billett: 1268]
- Custom komparator klasser som brukes i forbindelse med column_property (), relasjon () etc. kan definere nye metoder for sammenligning på Comparator, som vil bli tilgjengelig via __getattr __ () på InstrumentedAttribute. I tilfelle av synonym () eller comparable_property (), er attributter løses først på den brukerdefinerte descriptor, deretter på brukerdefinerte komparator.
- Lagd ScopedSession.is_active tilbehør. [Billett: 976]
- Kan passere kartlagt attributter og kolonneobjekter som nøkler til query.update ({}). [Billett: 1262]
- Kartlagt attributter gått til verdiene () av et uttrykk nivå innsats () eller oppdatering () vil bruke tastene på de kartlagte søyler, ikke at av de kartlagte attributt.
- Korrigert problem med Query.delete () og Query.update () ikke fungerer som den skal med bind parametere. [Billett: 1242]
- Query.select_from (), from_statement () sørge for at den gitte argumentet er en FromClause, eller Tekst / Select / Union, henholdsvis.
- Query () kan passeres en & quot; kompositt & quot; tilskriver et uttrykk kolonne som, og det vil bli utvidet. Noe relatert til [billett: 1253].
- Query () er litt mer robust når passerte ulike kolonneuttrykk som strenger, clauselists, tekst () konstruksjoner (som kan bety det bare hever en feil mer pent).
- først () fungerer som forventet med Query.from_statement ().
- Fast bug introdusert i 0.5rc4 involverer ivrige lasting ikke fungerer for eiendommer som ble lagt til en skisseprogram post-kompilering hjelp add_property () eller tilsvarende.
- Fast bug hvor mange-til-mange-relasjon () med viewonly = True ville ikke referere riktig koblingen mellom sekundær- & gt;. Fjern
- Duplicate elementer i en listebasert samling vil bli opprettholdt ved utstedelse INSERTs til en & quot; sekundær & quot; bord i et mange-til-mange-relasjon. Forutsatt at m2m tabellen har et unikt eller primærnøkkel begrensning på den, vil dette øke den forventede begrensningen brudd i stedet for stille slippe doble oppføringer. Legg merke til at den gamle atferden fortsatt for en en-til-mange-relasjon siden innsamlings oppføringer i så fall ikke resultere i INSERT-setninger og SQLA gjør ikke manuelt politi samlinger. [Billett: 1232]
- Query.add_column () kan godta FromClause gjenstander på samme måte som session.query () kan.
- Sammenligning av mange-til-en forhold til NULL er riktig konvertert til IS NOT NULL basert på ikke _ ().
- Ekstra sjekker lagt for å sikre eksplisitt primaryjoin / secondaryjoin er ClauseElement tilfeller, for å hindre mer forvirrende feil senere. [Billett: 1087]
- Forbedret mapper () sjekk for ikke-klasse klasser. [Billett: 1236]
- comparator_factory argument er nå dokumentert og støttes av alle MapperProperty typer, inkludert column_property (), relasjon (), backref (), og synonym () [billett: 5051].
- Endret navnet PropertyLoader til RelationProperty, for å være i samsvar med alle de andre navnene. PropertyLoader er fortsatt til stede som et synonym.
- fast & quot; dobbel ITER () & quot; samtale forårsaker bussfeil i shard API, fjernet villfaren result.close () igjen fra 0.4-versjonen. [Billett: 1099] [billett: 1228]
- gjort Session.merge kaskader ikke utløse autoflush. Fikser fusjonerte tilfeller får tidlig inn med manglende verdier.
- To fikser å bidra til å forhindre out-of-band-kolonnene blir gjengitt i polymorphic_union arve scenarier (som deretter fører til ekstra bord for å bli gjengitt i FROM-leddet som forårsaker kartesiske produkter):
- forbedringer til & quot; kolonne tilpasning & quot; for a- & gt; b- & gt; c. arvesituasjoner for å bedre finne kolonner som er knyttet til hverandre via flere nivåer av indirekte, i stedet for å gjengi den ikke-tilpasset kolonne
- & quot; polymorfe discriminator & quot; kolonnen er bare gjengitt for selve mapper blir spørres mot. Kolonnen vil ikke være & quot; trakk i & quot; fra en underklasse eller super mapper siden det ikke er nødvendig.
- Fast shard_id argument på ShardedSession.execute (). [Billett: 1072]
- sql
- Kolonner kan igjen inneholde prosenttegn innenfor deres navn. [Billett: 1256]
- sqlalchemy.sql.expression.Function er nå en offentlig klasse. Det kan subclassed å gi brukerdefinerte SQL-funksjoner i en avgjørende stil, blant annet med pre-etablert atferd. Den postgis.py eksempelet illustrerer en bruk av denne.
- PickleType favoriserer nå == sammenligning som standard, hvis den innkommende objekt (for eksempel en dict) implementerer __eq __ (). Hvis objektet ikke implementerer __eq __ () og foranderlig = True, en nedgraderingen advarsel er hevet.
- Fast import hvor merkelig i sqlalchemy.sql å ikke eksportere __names__. [Billett: 1215]
- Bruke samme ForeignKey objektet gjentatte ganger hever en feil i stedet for å stille sviktende senere. [Billett: 1238]
- Lagd NotImplementedError for params () metoden på Insert / Update / Slett konstruksjoner. Disse elementene for øyeblikket ikke støtter denne funksjonaliteten, som også ville være litt misvisende i forhold til verdier ().
- Reflekterte fremmednøkler vil ordentlig lokalisere refererte kolonnen deres, selv om kolonnen ble gitt en & quot; nøkkel & quot; attributt forskjellig fra den reflekterte navn. Dette oppnås via et nytt flagg på ForeignKey / ForeignKeyConstraint kalt & quot; link_to_name & quot ;, hvis Sann betyr gitt navn er referert til kolonnen navn, ikke den tilordnede tasten. [Billett: 650]
- velg () kan godta en ClauseList som en kolonne på samme måte som en tabell eller annen valgbar og interiør uttrykk vil bli brukt som kolonneelementer. [Billett: 1253]
- & quot; passiv & quot; flagg på session.is_modified () er korrekt forplantet til attributtet manager.
- union () og union_all () vil ikke knerte noen order_by () som har vært brukt til select () er inne. Hvis du union () en utvalgt () med order_by () (formodentlig for å støtte LIMIT / OFFSET), bør du også ringe self_group () på det å bruke parentes.
- motor / basseng
- Connection.invalidate () sjekker for lukket status for å unngå attributt feil. [Billett: 1246]
- NullPool støtter koble på feil atferd. [Billett: 1094]
- Lagt til en mutex for den innledende basseng skapelse ved bruk pool.manage (dbapi). Dette hindrer en mindre tilfelle av & quot; dogpile & quot; atferd som ellers ville oppstå ved en tung belastning oppstart. [Billett: 799]
- _execute_clauseelement () går tilbake til å være en privat metode. Subclassing Connection er ikke nødvendig nå som ConnectionProxy er tilgjengelig.
- dokumentasjon
- Billetter [billett: 1200] [billett: 1149].
- Lagt merknad om create_session () mislighold.
- Lagt avsnittet om metadata.reflect ().
- Oppdatert `TypeDecorator` delen.
- omskrev & quot; threadlocal & quot; strategi delen av docs på grunn av nylige forvirring over denne funksjonen.
- Fjernet dårlig ut på dato 'polymorphic_fetch' og 'select_table' docs fra arv, omarbeides andre halvdel av & quot; kombinerte tabellen arv & quot;.
- Dokumentert `comparator_factory` kwarg, lagt ny doc delen & quot; Custom Komparatorer & quot;.
- MSSQL
- Refactored dato / klokkeslett typer. Den `` smalldatetime`` datatype ikke lenger avkorter til en dato bare, og vil nå bli kartlagt til MSSmallDateTime type. [Billett: 1254]
- Rettet et problem med Numerics å godta en int.
- Kartlagt `` char_length`` til `` LEN () `` funksjon.
- Hvis en `` INSERT`` inkluderer en subselect den `` INSERT`` er konvertert fra en `` INSERT INTO VALUES`` konstruere til en `` INSERT INTO SELECT`` konstruere.
- Hvis kolonnen er en del av en `` primary_key`` det vil være `` IKKE NULL`` siden MSSQL ikke tillater `` NULL`` i primary_key kolonner.
- `` MSBinary`` returnerer nå en `` BINARY`` i stedet for en `` IMAGE``. Dette er en baklengs uforenlig endring i at `` BINARY`` er en fast lengde datatype, mens `` IMAGE`` er en variabel lengde datatype. [Billett: 1249]
- `` get_default_schema_name`` er nå reflekteres fra databasen basert på brukerens standardskjemaet. Dette fungerer bare med MSSQL 2005 og senere. [Billett: 1258]
- Lagt sortering støtte gjennom bruk av en ny sortering argument. Dette støttes på følgende typer: røye, nchar, varchar, nvarchar, tekst, ntext. [Billett: 1248]
- Endringer i forbindelse strengparametere favorisere DSN som standardspesifikasjonen for pyodbc. Se mssql.py docstring for detaljerte bruksinstruksjoner.
- Lagt eksperimentell støtte av lagringspunkter. Det for tiden ikke fungerer fullt ut med økter.
- Støtte for tre nivåer av kolonne nullverdi: null, NOT NULL, og databasen er konfigurert standard. Standard Column konfigurasjon (nullable = True) vil nå generere NULL i DDL. Tidligere har ingen spesifikasjon ble sluppet ut og databasen standard ville ta effekt (vanligvis NULL, men ikke alltid). Eksplisitt be databasen standard, konfigurere kolonner med nullable = None og ingen spesifikasjon vil bli sluppet ut i DDL. Dette er baklengs uforenlig atferd. [Billett: 1243]
- postgres
- & quot;% & quot; tegn i tekst () konstruerer automatisk rømte til & quot; %% & quot ;. På grunn av den bakover uforenlig natur av denne endringen, er en advarsel høres hvis '%%' oppdages i strengen. [Billett: 1267]
- Calling alias.execute () i forbindelse med server_side_cursors vil ikke heve AttributeError.
- Lagd Index refleksjon støtte til Postgres, ved hjelp av en stor lapp vi lenge neglisjert, innsendt av Ken Kuhlman. [Billett: 714]
- oracle
- Justert formatet create_xid () for å reparere tofaseiverksetting. Vi har nå feltrapporter fra Oracle Tofaseiverksetting fungerer som den skal med denne endringen.
- Lagd OracleNVarchar typen, produserer NVARCHAR2, og også underklasser Unicode slik at convert_unicode = True som standard. NVARCHAR2 reflekterer inn i denne type automatisk slik at disse kolonnene passere unicode på en reflektert bord uten eksplisitt convert_unicode = Sanne flagg. [Billett: 1233]
- Rettet feil som ble forebygge ut params av visse typer fra mottas; takket massevis å huddlej på wwu.edu! [Billett: 1265]
- mysql
- & quot;% & quot; tegn i tekst () konstruerer automatisk rømte til & quot; %% & quot ;. På grunn av den bakover uforenlig natur av denne endringen, er en advarsel høres hvis '%%' oppdages i strengen.
- Rettet feil i unntaks raise når FK kolonner ikke presentere under refleksjon. [Billett: 1241]
- Rettet feil som involverer refleksjon av en fjern skjema bord med en fremmednøkkel ref til et annet bord i at skjema.
- associationproxy
- Foreningen proxy egenskaper er å gjøre seg tilgjengelig på klassenivå, f.eks MyClass.aproxy. Tidligere denne evalueres til Ingen.
- deklarative
- Den fullstendige listen over argumenter akseptert som streng ved backref () inkluderer "primaryjoin ',' secondaryjoin ',' sekundære ',' foreign_keys ',' remote_side ',' order_by '.
Krav :
- Python
Kommentarer ikke funnet