SQLAlchemy er en open source, platformsuafhængig og gratis bibliotek software skrevet i Python programmering sprog og designet fra bunden til at fungere som en database abstraktion bibliotek, ORM (Object Relational Mapper) og SQL værktøjskasse til Python.
Hvis du & rsquo; re en Python-udvikler, vil SQLAlchemy give dig den fulde fleksibilitet og magt SQL, hvilket giver en komplet samling af populær enterprise-level persistens mønstre, der er konstrueret til højtydende og effektive database access.Features ad glanceThe software er ekstremt nemt at bruge, kraftfuld nok til avancerede opgaver og modulopbygget. Med SQLAlchemy vil du være i stand til at organisere indtil CRUD operationer, giver mulighed for brug af boolske udtryk, funktioner, operatører, bord aliaser, UNIONENS klausuler, korreleret EXISTS klausuler, oprette, indsætte, slette og opdatere forespørgsler, valgbare underforespørgsler, korrelerede opdateringer, indre og ydre slutter, og binde parametre.
Derudover kan det bruges til at generere databaser, samt at introspect dem, støtte til lastning relaterede objekter og samlinger, støtte til at skabe gennemsigtig vedvarende objekter baseret på mønstre, støtte til at manipulere og konstruere domænemodeller, samt støtte til synkronisering alle ændringer med den aktuelle transaktion automatisk.
Blandt andre funktioner kan nævnes en relationelt orienteret forespørgsel system, & rsquo; s stand til at udsætte alle SQL & rsquo; s funktionalitet, herunder korrelation, slutter og underforespørgsler, en DBAPI interaktion lag, en kerne SQL konstruktionssystem, en komplet, standalone database abstraktion lag, støtte til Extensible SQL skema metadata, udtryk sprog, tilslutning pooling, brugerdefinerede typer og type coercion.Supports en bred vifte af databasesThe program omfatter dialekter for en bred vifte af databaseservere og motorer, herunder MySQL, PostgreSQL, Firebird, Oracle, Microsoft SQL Server, SQLite, Sybase, og mange andre.
Projektet er uafhængig af et operativsystem, hvilket betyder, at den nemt kan implementeres og anvendes på en GNU / Linux-distribution, samt på Microsoft Windows, BSD eller Mac OS X-operativsystemer. Både 32-bit og 64-bit hardware-arkitekturer understøttes på dette tidspunkt
Hvad er nyt i denne udgivelse:.
- Orm:
- [Orm] [bug] [motor] Fixed bug, der påvirkede generelt de samme klasser af begivenhed som for # 3199, når den navngivne = True parameter ville blive anvendt. Nogle arrangementer vil ikke registrere, og andre ikke ville påberåbe sig begivenheden argumenter korrekt, generelt er tale om, når en begivenhed var & quot; indpakket & quot; til tilpasning på en anden måde. & Quot; navngivet & quot; mekanik er blevet omarrangeret til ikke forstyrre det argument der forventes underskrevet af interne wrapper funktioner.
- [Orm] [bug] Fixed bug, der ramte mange klasser af aktionen, især ORM begivenheder, men også motor arrangementer, hvor den sædvanlige logik & quot; de duplikerer & quot; en redundant kald til event.listen () med de samme argumenter ville mislykkes, for de begivenheder, hvor lytteren funktion indpakket. En påstand ville blive ramt inden registry.py. Denne påstand er nu blevet integreret i deduplikering check, med den ekstra bonus af en enklere måde at kontrollere deduplikering over hele linjen.
- [Orm] [bug] Fast advarsel, ville udsende når en kompleks selvrefererende primaryjoin indeholdt funktioner, mens den på samme tid remote_side blev angivet; advarslen vil foreslå indstillingen & quot; remote side & quot ;. Det nu kun udleder hvis remote_side ikke er til stede.
- orm deklarativ:
- [bug] [deklarativ] [Orm] Fast & quot; 'NoneType' objekt har ingen attribut 'beton' & quot; fejl, når du bruger AbstractConcreteBase sammen med en underklasse, der erklærer __abstract __.
- motor:
- [motor] [bug] Udførelsen muligheder bestået på en motor enten via create_engine.execution_options eller Engine.update_execution_options () ikke videregives til den særlige forbindelse, der bruges til at initialisere dialekt i & quot; først tilslutte & quot; begivenhed; dialekter vil normalt udføre deres egne forespørgsler i denne fase, og ingen af de nuværende tilgængelige muligheder bør anvendes her. Især & quot; autocommit & quot; option var årsag et forsøg på at autocommit inden denne indledende tilslutte som ville mislykkes med en AttributeError på grund af den ikke-standard tilstand af Connection.
- [motor] [bug] De string nøgler, der bruges til at bestemme kolonnerne påvirket for en INSERT eller UPDATE er nu sorteres, når de bidrager til & quot; kompileret cache & quot; cache nøgle. Disse nøgler blev tidligere ikke deterministisk bestilt, hvilket betyder, at samme erklæring kunne cached flere gange på samme taster, koster både med hensyn til hukommelse og ydeevne.
- sql:
- [sql] [bug] Rettet fejl hvor et rimeligt antal SQL elementer i sql pakke ikke ville __repr __ () med succes, på grund af en manglende beskrivelse attribut, der ville påberåbe sig en rekursion overflow, når en intern AttributeError ville derefter re -invoke __repr __ ().
- [sql] [bug] En tilpasning til bord / indeks refleksioner sådan, at hvis et indeks rapporterer en kolonne, der ikke findes at være til stede i tabellen, udsendes en advarsel og søjlen springes over. Dette kan ske for nogle særlige ordning kolonne situationer er blevet observeret med Oracle.
- [sql] [bug] Fixed bug i CTE hvor literal_binds compiler argument ville ikke altid blive formeret korrekt, når man CTE henvist til en anden alias CTE i en erklæring.
- [sql] [bug] Fast 0.9.7 regression forårsaget af # 3067 i forbindelse med en mis-navngivne unit test, således at såkaldt & quot; skema & quot; typer som Boolesk og Enum ikke længere kunne syltede.
- PostgreSQL:
- [PostgreSQL] [funktion] [pg8000] tilføjes Støtte til & quot; sane multi række tæller & quot; med pg8000 driver, som for det meste gælder, når du bruger versionsstyring med ORM. Funktionen er version-registreres på grundlag pg8000 1.9.14 eller større i brug. Træk anmodning høflighed Tony Locke.
- [PostgreSQL] [bug] et gensyn til dette spørgsmål først lappet i 0.9.5, tilsyneladende psycopg2 s .closed tilbehø er ikke så pålidelig som vi antog, så vi har tilføjet en udtrykkelig check på undtagelsessiderne meddelelser & quot; SSL syscall fejl : Bad file descriptor & quot; og & quot; SSL syscall fejl: EOF detekteret & quot; når påvisning af en IS-afbryde scenario. Vi vil fortsætte med at konsultere psycopg2 s connection.closed som en første kontrol.
- [PostgreSQL] [bug] Fixed bug hvor Postgresql JSON typen ikke var i stand til at vare ved eller på anden måde gøre en kolonne værdi SQL NULL, i stedet for en JSON-kodet "null". For at understøtte denne sag, er ændringer som følger:
- Værdien null () kan nu angives, hvilket altid vil resultere i en null-værdi resulterer i redegørelsen.
- Et nyt parameter tilføjes JSON.none_as_null, som når Sandt angiver, at Python Ingen værdi skal peristed som SQL NULL, i stedet for JSON-kodet "null".
- Retrival af NULL som Ingen er også repareret af andre end psycopg2, nemlig pg8000 DBAPIs.
- [PostgreSQL] [bug] Undtagelsen indpakning for DBAPI fejl kan nu rumme ikke-standard DBAPI undtagelser, såsom psycopg2 TransactionRollbackError. Disse undtagelser vil nu blive rejst ved hjælp af den nærmeste tilgængelige underklasse i sqlalchemy.exc, i tilfælde af TransactionRollbackError, sqlalchemy.exc.OperationalError.
- [PostgreSQL] [bug] Fixed bug i postgresql.array objekt hvor sammenligning med en almindelig Python liste ville ikke bruge den rigtige matrix konstruktør. Træk anmodning høflighed Andrew.
- [PostgreSQL] [bug] føjede en understøttet FunctionElement.alias () metode til funktioner, f.eks FUNC-konstruktionen. Tidligere adfærd for denne metode var udefineret. De nuværende adfærd efterligner af præ-0.9.4, som er, at funktionen er forvandlet til en enkelt kolonne fra klausul med det givne alias navn, hvor søjlen selv er anonymt navngivet.
- mysql:
- [mysql] [bug] [mysqlconnector] Mysqlconnector fra version 2.0, sandsynligvis som en bivirkning af python 3 merge, er nu ikke forvente procenttegn (fx som bruges som modulus operatør og andre) skal fordobles, selv ved brug af & quot; pyformat & quot; bundet parameter format (denne ændring er ikke dokumenteret af Mysqlconnector). Den dialekt kontrollerer nu for py2k og mysqlconnector mindre end version 2.0, når der detekteres hvis modulus operatør skal gengives som %% eller%.
- [mysql] [bug] [mysqlconnector] Unicode SQL er nu gået til MySQLconnector version 2.0 og derover; for Py2k og MySQL & lt; 2.0, er strenge kodet.
- SQLite:
- [SQLite] [bug] Ved valg af en UNION hjælp en vedhæftet database fil, pysqlite driver rapporter kolonnenavne i cursor.description som »dbname.tablename.colname« i stedet for »tablename.colname", som det normalt gør for en Union (bemærk, at det er meningen at bare være "kolonnenavn" for begge, men vi arbejder omkring det). Kolonnen oversættelse logik her er justeret til at hente den yderste højre token, i stedet for den anden grund, så det fungerer i begge tilfælde. Løsning høflighed Tony Roberts.
- MSSQL:
- [MSSQL] [bug] Ordnede versionsstreng opdagelse i pymssql dialekt til at arbejde med Microsoft SQL Azure, der ændrer ordet & quot; SQL Server & quot; til & quot; SQL Azure & quot;.
- orakel:
- [oracle] [bug] Fast mangeårige fejl i Oracle dialekt hvor bundet parameternavne, der startede med tal ikke ville blive citeret, da Oracle ikke kan lide talværdier i bundet parameternavne.
- misc:
- [bug] [deklarativ] Rettet en usandsynlig race condition observeret i nogle eksotiske ende-opsætninger, hvor forsøget på at tjekke for & quot; duplikere klassenavn & quot; i deklarativ ville ramme på en ikke-helt renset op svag henvisning relateret til en anden klasse, bliver fjernet; checken her nu sikrer weakref stadig refererer et objekt, før du ringer på det yderligere.
- [bug] [EXT] Fixed bug i bestilling liste, hvor rækkefølgen af emner ville blive smidt ud i løbet af en samling erstatte begivenhed, hvis reorder_on_append flaget blev sat til True. Rettelsen sikrer, at bestilling listen kun konsekvenser den liste, der er udtrykkeligt forbundet med objektet.
- [bug] [EXT] Fixed bug hvor ext.mutable.MutableDict undladt at gennemføre opdateringen () ordbog metode, således ikke at fange ændringer. Træk anmodning høflighed Matt Chisholm.
- [bug] [EXT] Rettet fejl hvor en brugerdefineret underklasse af ext.mutable.MutableDict ikke ville dukke op i en & quot; tvinge & quot; drift, og ville i stedet returnere en almindelig ext.mutable.MutableDict. Træk anmodning høflighed Matt Chisholm.
- [bug] [pulje] Fixed bug i forbindelse pool logning, hvor & quot; forbindelse tjekket ud & quot; debug logging budskab ville ikke udlede, om logning blev oprettet ved hjælp af logging.setLevel () i stedet for at bruge echo_pool flag. Tests at hævde denne logning er blevet tilføjet. Dette er en regression, der blev introduceret i 0.9.0.
Hvad er nyt i version 0.5.0:
- nye funktioner
- Generelt
- Dokumentation er blevet konverteret til Sphinx. Især har den genereret API-dokumentation er bygget ind i en fuldstændig blæst & quot; API reference & quot; sektion, der organiserer redaktionelle dokumentation kombineret med genererede docstrings. Cross sammenkobling mellem sektioner og API docs er kraftigt forbedret, en javascript-drevne søgefunktion er forudsat, og en fuld indeks over alle klasser, funktioner og medlemmer tilbydes.
- setup.py importerer nu setuptools kun eventuelt. Hvis ikke er til stede, distutils anvendes. Det nye & quot; pip & quot; installatør anbefales løbet easy_install da det installeres på en mere forenklet måde.
- tilføjede en meget grundlæggende illustration af en PostGIS integration til mappen eksempler.
- Orm
- Query.with_polymorphic () accepterer nu en tredje argument & quot; diskriminator & quot; der skal erstatte værdien af mapper.polymorphic_on for den pågældende forespørgsel. Kortlæggere selv ikke længere kræve polymorphic_on skal indstilles, selv om mapper har en polymorphic_identity. Når den ikke er indstillet, vil mapper indlæse ikke-polymorfisk som standard. Tilsammen disse to funktioner giver en ikke-polymorf beton arv setup til at bruge polymorf belastning på en per-forespørgsel grundlag, da konkrete opsætninger er tilbøjelige til mange spørgsmål, når de anvendes polymorfisk i alle tilfælde.
- dynamic_loader accepterer en query_class = at tilpasse Query klasser, der anvendes til både den dynamiske indsamling og forespørgsler bygget fra det.
- query.order_by () accepterer Ingen, som vil fjerne enhver verserende order_by stat fra forespørgslen, samt annullere enhver mapper / relation konfigureret bestilling. Dette er primært nyttigt at suspendere en bestilling angivet på en dynamic_loader (). [Billet: 1079]
- sql
- RowProxy objekter i stedet for ordbog argumenter sendt til connection.execute () og venner. [Billet: 935]
- dialekt
- Tilføjet en ny description_encoding attribut på dialekt, der bruges til kodning kolonnenavnet når behandlingen af metadata. Dette normalt bruges utf-8.
- mssql
- Tilføjet i en ny MSGenericBinary type. Dette kort til den binære form, så den kan gennemføre den specialiserede adfærd behandling angivne længde typer som fast bredde binære typer og ikke-længde typer som en ubundet variabel længde Binary type.
- Tilføjet i nye typer: MSVarBinary og MSImage. [Billet: 1249]
- Tilføjet i MSReal, MSNText, MSSmallDateTime, MSTime, MSDateTimeOffset og MSDateTime2 typer
- SQLite
- Tabel refleksion gemmer nu den aktuelle DefaultClause værdi for kolonnen. [Billet: 1266]
- fejlrettelser, adfærdsændringer
- Generelt
- Orm
- Undtagelser rejst under compile_mappers () er nu bevaret for at give & quot; klæbrig adfærd & quot;
- Hvis en hasattr () at opfordre forkompilerede kortlagt attribut udløser en nødlidende kompilere og undertrykker undtagelsen, bliver efterfølgende kompilering blokeret, og undtagelsen vil blive gentaget på næste kompilere () opkald. Dette problem opstår ofte, når du bruger deklarativ.
- property.of_type () er nu anerkendt på en enkelt-bord arver mål, når det anvendes i forbindelse med prop.of_type (..). Enhver () / har (), samt query.join (prop. of_type (...)).
- query.join () rejser en fejl, når målet for sammenføjningen ikke matcher ejendommen baserede attribut
- mens det er usandsynligt nogen gør dette, det SQLAlchemy forfatter var skyldig i denne særlige loosey-Goosey adfærd.
- Fixed bug, når du bruger weak_instance_map = False hvor modificerede omstændigheder ikke ville blive opfanget af en flush (). [Billet: 1272]
- Fast nogle dybe & quot; kolonne korrespondance & quot; spørgsmål, som kan påvirke en Query rejst mod en valgbar indeholder flere versioner af den samme tabel, samt fagforeninger og lignende, som indeholdt de samme tabelkolonner i forskellige kolonner stillinger på forskellige niveauer. [Billet: 1268]
- Brugerdefinerede komparator klasser anvendes i forbindelse med column_property (), relation () osv kan definere nye sammenligning metoder på Comparator, der bliver til rådighed via __getattr __ () på InstrumentedAttribute. I tilfælde af synonym () eller comparable_property (), er attributter løses først på den brugerdefinerede deskriptor, så på den brugerdefinerede komparator.
- Tilføjet ScopedSession.is_active accessor. [Billet: 976]
- Kan passere tilknyttede attributter og kolonne objekter som nøgler til query.update ({}). [Billet: 1262]
- Kortlagte attributter bestået til værdierne () af et udtryk niveau insert () eller opdatering (), vil bruge tasterne for de kortlagte søjler, ikke fra det tilknyttede attribut.
- Korrigeret problem med Query.delete () og Query.update () ikke fungerer korrekt med BIND parametre. [Billet: 1242]
- Query.select_from (), from_statement () sikre, at den givne argument er en FromClause eller Tekst / Select / Union henholdsvis.
- Query () kan føres en & quot; komposit & quot; attribut som en kolonne udtryk og det vil blive udvidet. Noget relateret til [billet: 1253].
- Query () er lidt mere robust, når passerede forskellige kolonner udtryk som strygere, clauselists, tekst () konstruktioner (som kan betyde det bare rejser en fejl mere pænt).
- først () fungerer som forventet med Query.from_statement ().
- Fixed bug indført i 0.5rc4 involverer ivrig læsning ikke fungerer efter ejendomme, som blev føjet til en mapper post-compile hjælp add_property () eller tilsvarende.
- Fixed bug hvor mange-til-mange relation () med viewonly = True ville ikke korrekt reference forbindelsen mellem secondary- & gt;. Fjernbetjening
- dubletter på en liste-baseret samling vil blive opretholdt ved udstedelse indlæg til et & quot; sekundær & quot; tabel i en mange-til-mange forhold. Under forudsætning af M2M bordet har et unikt eller primær nøgle begrænsning på det, vil det rejse den forventede begrænsning overtrædelse i stedet for stille droppe dublerede poster. Bemærk, at den gamle adfærd forbliver for en en-til-mange relation, da poster indsamling i denne sag ikke fører til INSERT erklæringer og SQLA fremstiller ikke manuelt politiets samlinger. [Billet: 1232]
- Query.add_column () kan acceptere FromClause objekter på samme måde som session.query () kan.
- Sammenligning af mange-til-en relation til NULL er korrekt konverteret til IS NOT NULL baseret på ikke _ ().
- Ekstra kontrol tilføjet for at sikre eksplicit primaryjoin / secondaryjoin er ClauseElement tilfælde for at forhindre mere forvirrende fejl senere. [Billet: 1087]
- Forbedret Mapper () tjek for ikke-klasse klasser. [Billet: 1236]
- comparator_factory argument er nu dokumenteret og understøttes af alle MapperProperty typer, herunder column_property (), relation (), backref (), og synonym () [billet: 5051].
- Ændret navnet PropertyLoader til RelationProperty, at være i overensstemmelse med alle de andre navne. PropertyLoader er stadig til stede som et synonym.
- fast & quot; dobbelt ITER () & quot; opkald forårsager bus fejl i shard API, fjernes vildfaren result.close () tilovers fra 0,4 version. [Billet: 1099] [billet: 1228]
- lavet Session.merge kaskader ikke udløse autoflush. Rettelser fusionerede tilfælde få tidligt indsat med manglende værdier.
- To rettelser til hjælpe med at forhindre out-of-band kolonner fra at blive afsagt i polymorphic_union arv scenarier (som derefter forårsager ekstra tabeller, som skal gengives i FROM-udtrykket forårsager kartesiske produkter):
- forbedringer til & quot; kolonne tilpasning & quot; for a- & gt; b- & gt; c. arv situationer bedre lokalisere kolonner, der er relateret til hinanden via flere niveauer af indirection snarere end at yde kolonnen ikke-tilpassede
- & quot; polymorfe diskriminator & quot; kolonne kun gengives for den faktiske mapper bliver forespurgt imod. Kolonnen vil ikke være & quot; trak i & quot; fra en underklasse eller superklasse mapper, da det ikke er nødvendigt.
- Fast shard_id argument om ShardedSession.execute (). [Billet: 1072]
- sql
- Kolonner kan igen indeholde procenttegn i deres navne. [Billet: 1256]
- sqlalchemy.sql.expression.Function er nu en offentlig klasse. Det kan underklasse til at give brugerdefinerede SQL-funktioner i et tvingende stil, også med forud fastsatte adfærd. Den postgis.py eksempel illustrerer en anvendelse af dette.
- PickleType nu favoriserer == sammenligning som standard, hvis det indgående objekt (såsom en dict) gennemfører __eq __ (). Hvis objektet ikke gennemfører __eq __ () og foranderlig = True, en afskrivninger advarsel er hævet.
- Fast import skøre i sqlalchemy.sql til ikke eksportere __names__. [Billet: 1215]
- Brug af samme ForeignKey objekt gentagne gange rejser en fejl i stedet for stilhed ikke senere. [Billet: 1238]
- Tilføjet NotImplementedError for params () metode på Indsæt / Opdater / Slet konstruktioner. Disse elementer i øjeblikket ikke understøtter denne funktionalitet, som også ville være lidt misvisende i forhold til værdier ().
- afspejlet fremmede nøgler vil kunne finde deres refereres kolonne, selv om søjlen fik en & quot; nøgle & quot; attribut forskellig fra den reflekterede navn. Dette opnås via en ny flag på ForeignKey / ForeignKeyConstraint kaldet & quot; link_to_name & quot ;, hvis Sand betyder det givne navn er nævnt-til kolonne navn, ikke dens tildelte tast. [Billet: 650]
- Vælg () kan acceptere en ClauseList som en søjle på samme måde som et bord eller anden vælges, og de indvendige udtryk vil blive brugt som kolonne elementer. [Billet: 1253]
- & quot; passive & quot; flag på session.is_modified () udbredes korrekt til attribut manager.
- union () og union_all () vil ikke smække nogen order_by (), der er blevet anvendt på select () s indeni. Hvis du union () et vælg () med order_by () (formentlig til at understøtte LIMIT / OFFSET), bør du også ringe self_group () på det at anvende parenteser.
- motor / pool
- Connection.invalidate () kontrol for lukkede status for at undgå attribut fejl. [Billet: 1246]
- NullPool understøtter genoprette forbindelsen på fiasko adfærd. [Billet: 1094]
- Tilføjet en mutex for den indledende pulje skabelse, når du bruger pool.manage (dbapi). Dette forhindrer en mindre tilfælde af & quot; Dogpile & quot; adfærd, der ellers ville forekomme ved en tung start belastning. [Billet: 799]
- _execute_clauseelement () går tilbage til at være en privat metode. Delklasse Connection er ikke nødvendigt nu, ConnectionProxy er til rådighed.
- dokumentation
- Billetter [billet: 1200] [billet: 1149].
- Tilføjet bemærkning om create_session () defaults.
- Tilføjet afsnit om metadata.reflect ().
- Opdateret `TypeDecorator` afsnit.
- omskrev & quot; threadlocal & quot; strategi sektion af docs på grund af nylig forvirring over denne funktion.
- Fjernet dårligt forældet 'polymorphic_fetch «og» select_table' docs fra arv, omarbejdet i anden halvdel af & quot; sluttede tabel arv & quot;.
- Dokumenteret `comparator_factory` kwarg, tilføjet nye doc sektion & quot; Brugerdefineret komparatorer & quot;.
- mssql
- refactored dato / tid typer. Den `` smalldatetime`` datatype ikke længere afkorter kun en dato, og vil nu blive kortlagt til MSSmallDateTime typen. [Billet: 1254]
- Rettet et problem med talværdier til at acceptere en int.
- kortlagt `` char_length`` til `LEN ()` `funktionen '.
- Hvis et `` INSERT`` indeholder en subselect den `` INSERT`` er konverteret fra en `` INSERT INTO VALUES`` konstruere en `` INSERT INTO SELECT`` konstruktion.
- Hvis kolonnen er en del af en `` primary_key`` det vil være `` IKKE NULL`` siden MSSQL ikke tillader `` NULL`` i primary_key kolonner.
- `` MSBinary`` nu returnerer en `` BINARY`` stedet for en `` IMAGE``. Dette er en baglæns uforenelig ændring i det `` BINARY`` er en fast længde datatype mens `` IMAGE`` er en variabel længde datatype. [Billet: 1249]
- `` get_default_schema_name`` afspejles nu fra databasen baseret på brugerens standard skema. Dette virker kun med MSSQL 2005 og senere. [Billet: 1258]
- Tilføjet sortering støtte ved hjælp af en ny sammenstilling argument. Dette understøttes på følgende typer: char, nchar, varchar, nvarchar, tekst, ntext. [Billet: 1248]
- Ændringer i forbindelse streng parametre favorisere DSN som standard specifikation for pyodbc. Se mssql.py docstrengen for detaljerede oplysninger om brugen.
- Tilføjet eksperimentel understøttelse af interne commits. I øjeblikket virker ikke fuldt ud med sessioner.
- Støtte til tre niveauer af kolonne nullability: null, NOT NULL, og databasens konfigurerede standard. Standard Kolonne konfiguration (nullable = True) vil nu generere NULL i DDL. Tidligere ingen specifikation blev udsendt, og standard database vil få virkning (normalt NULL, men ikke altid). For udtrykkeligt anmoder standard database, konfigurere kolonner med NULL = Ingen og ingen specifikation vil blive udledt i DDL. Dette er bagud uforenelig adfærd. [Billet: 1243]
- Postgres
- & quot;% & quot; tegn i tekst () konstruktioner automatisk undslap til & quot; %% & quot ;. På grund af den baglæns uforenelige karakter af denne ændring, udsendes en advarsel, hvis '%%' detekteres i strengen. [Billet: 1267]
- Opkald alias.execute (), sammenholdt med server_side_cursors vil ikke hæve AttributeError.
- Tilføjet Index refleksion støtte til Postgres, ved hjælp af en stor patch vi længe forsømt, indgivet af Ken Kuhlman. [Billet: 714]
- orakel
- Justeret formatet af create_xid () til at reparere to-faset commit. Vi har nu marken rapporter om Oracle tofase- commit fungerer korrekt med denne ændring.
- Tilføjet OracleNVarchar typen, producerer NVARCHAR2, og også underklasser Unicode så convert_unicode = True som standard. NVARCHAR2 reflekterer i denne type automatisk, så disse kolonner videregive Unicode på en reflekteret bord uden udtrykkelig convert_unicode = true flag. [Billet: 1233]
- Fixed bug, der forhindrede ud params af visse typer fra modtages; tak en ton til huddlej på wwu.edu! [Billet: 1265]
- mysql
- & quot;% & quot; tegn i tekst () konstruktioner automatisk undslap til & quot; %% & quot ;. På grund af den baglæns uforenelige karakter af denne ændring, udsendes en advarsel, hvis '%%' detekteres i strengen.
- Fixed bug i undtagelse raise når FK kolonner ikke præsentere under refleksion. [Billet: 1241]
- Fixed bug involverer refleksion af en fjernstyret skema bord med en fremmed nøgle ref til en anden tabel i dette skema.
- associationproxy
- Foreningen proxy egenskaber er stiller sig til rådighed på klasseniveau, fx MyClass.aproxy. Tidligere denne vurderet til Ingen.
- deklarativ
- Den fulde liste med argumenter accepteret som snor ved backref () omfatter »primaryjoin ',' secondaryjoin«, »sekundære«, »foreign_keys ',' remote_side ',' order_by '.
Kan bruges
Krav :
- Python
Kommentarer ikke fundet