SQLAlchemy

Software screenshot:
SQLAlchemy
Software informatie:
Versie: 0.9.8
Upload datum: 17 Feb 15
Ontwikkelaar: Michael Bayer
Licentie: Gratis
Populariteit: 85

Rating: 3.5/5 (Total Votes: 2)

SQLAlchemy is een open source, platform-onafhankelijk en vrij bibliotheek software geschreven in de programmeertaal Python en ontworpen vanaf de grond af op te treden als een database abstractie bibliotheek, ORM (Object Relational Mapper) en SQL-toolkit voor Python.
Als je & rsquo; re een Python ontwikkelaar, SQLAlchemy krijgt u de volledige flexibiliteit en kracht van SQL, het verstrekken van een complete collectie van populaire enterprise-level persistentie patronen, die zijn ontworpen voor high-presterende en efficiënte databank access.Features Een overzicht met software te geven is zeer eenvoudig te gebruiken, krachtig genoeg voor geavanceerde taken, en modulair. Met SQLAlchemy zul je in staat om zich te organiseren in afwachting van CRUD operaties zijn, maakt het gebruik van booleaanse uitdrukkingen, functies, operators, tabelaliassen, UNION clausules, gecorreleerd BESTAAT clausules, maken, invoegen, verwijderen en updaten van queries, selecteerbare subqueries, gecorreleerde updates, innerlijke en outer joins, en bind parameters.
Bovendien kan het worden gebruikt om databases, en ze doordringen, ondersteuning voor het laden gerelateerde objecten en collecties draagvlak voor het creëren transparante persistentie van objecten op basis van patronen, ondersteuning voor het manipuleren en construeren domein modellen, evenals ondersteuning voor synchronisatie alle veranderingen automatisch met de huidige transactie.
Onder andere functies, kunnen we een relationeel georiënteerde query-systeem dat & rsquo noemen; s staat bloot alle SQL & rsquo; s-functionaliteit, waaronder correlatie, sluit zich aan en subquery, een DBAPI interactie laag, een kern van SQL-bouwsysteem, een complete, standalone-database abstractie laag, ondersteuning voor uitbreidbare SQL-schema metadata, uitdrukking taal, pooling van verbindingen, typen op maat en soort coercion.Supports een breed scala van databasesThe programma omvat dialecten voor een breed scala van databaseservers en motoren, met inbegrip van MySQL, PostgreSQL, Firebird, Oracle, Microsoft SQL Server, SQLite, Sybase, en vele anderen.
Het project is onafhankelijk van een besturingssysteem, wat betekent dat het gemakkelijk kan worden ingezet en gebruikt op elke GNU / Linux distributie, alsook op het Microsoft Windows, BSD of Mac OS X-besturingssystemen. Zowel 32-bits en 64-bits hardware-architecturen worden ondersteund op dit moment

Wat is nieuw in deze release:.

  • orm:
  • [ORM] [bug] [motor] Fixed bug die over het algemeen dezelfde klassen van het evenement als die van # 3199, beïnvloed wanneer de naam = True parameter zou worden gebruikt. Sommige gebeurtenissen zou falen om te registreren, en anderen zouden de argumenten gebeurtenis die niet correct beroepen, meestal in het geval van wanneer een gebeurtenis was & quot; gewikkeld & quot; voor aanpassing op een andere manier. De & quot; genoemd & quot; monteurs zijn herschikt om niet bemoeien met het argument handtekening verwacht door interne wrapper functies.
  • [ORM] [bug] Fixed bug die vele klassen van het evenement, met name ORM gebeurtenissen, maar ook de motor evenementen, waar de gebruikelijke logica van & quot aangetast; de dupliceren & quot; een redundante oproep tot event.listen () met dezelfde argumenten zou mislukken, voor die evenementen waar de luisteraar functie is gewikkeld. Een bewering zou worden getroffen binnen registry.py. Deze bewering is nu geïntegreerd in de deduplicatie controle, met de toegevoegde bonus van een eenvoudiger middel van het controleren van deduplicatie over de hele linie.
  • [ORM] [bug] Fixed waarschuwing dat zou uitstoten wanneer een complexe self-referentiële primaryjoin bevatte functies, terwijl op hetzelfde moment remote_side is opgegeven; de waarschuwing zou suggereren instellen & quot; remote kant & quot ;. Nu alleen uitzendt als remote_side niet aanwezig is.
  • orm declaratieve:
  • [bug] [declaratieve] [ORM] Fixed & quot; 'NoneType' object heeft geen attribuut 'concrete' & quot; fout bij het gebruik van AbstractConcreteBase in combinatie met een subklasse die __abstract verklaart __.
  • engine:
  • [motor] [bug] De uitvoering opties doorgegeven aan een Engine hetzij via create_engine.execution_options of Engine.update_execution_options () worden niet doorgegeven aan de speciale verbinding gebruikt om het dialect binnen initialiseren van de & quot; eerst verbinding & quot; gebeurtenis; dialecten gewoonlijk zult hun eigen vragen in deze fase, en geen van de huidige beschikbare opties moeten hier worden toegepast. In het bijzonder, de & quot; autocommit & quot; optie veroorzaakte een poging autocommit binnen deze eerste verbinding die zou falen met AttributeError vanwege de afwijkende toestand van de verbinding.
  • [motor] [bug] De reeks toetsen die worden gebruikt om de kolommen beïnvloed voor een INSERT of UPDATE bepalen nu naargelang wanneer ze bijdragen aan de & quot; gecompileerd cache & quot; cache sleutel. Deze sleutels waren eerder niet deterministisch besteld, wat betekent dat dezelfde verklaring kon meerdere keren worden gecached op gelijkwaardige toetsen, kost zowel in termen van het geheugen, alsmede de prestaties.
  • sql:
  • [sql] [bug] Fixed bug waarbij een behoorlijk aantal SQL-elementen binnen de sql pakket zou niet __ (met succes __repr), als gevolg van een ontbrekende omschrijving attribuut dat zou dan een beroep doen op een recursie overloop wanneer een interne AttributeError dan zou opnieuw -invoke __repr __ ().
  • [sql] [bug] Een aanpassing van tafel / index reflectie zodanig dat als een index meldt een kolom die niet gevonden wordt in de tabel te zijn, wordt een waarschuwing afgegeven en de kolom wordt overgeslagen. Dit kan gebeuren voor een aantal speciale kolom systeem situaties zoals is waargenomen met Oracle.
  • [sql] [bug] Fixed bug in CTE waar literal_binds compiler argument zou niet altijd correct worden gepropageerd als men CTE in een verklaring aan een ander alias CTE genoemd.
  • [sql] [bug] Fixed 0.9.7 regressie veroorzaakt door # 3067 in combinatie met een mis-vernoemd unit test zodanig dat de zogenaamde & quot; schema & quot; types zoals Booleaanse en Enum niet meer kon worden gebeitst.
  • postgresql:
  • [postgresql] [functie] [pg8000] ondersteuning toegevoegd voor & quot; gezond multi-rij tellen & quot; met de pg8000 bestuurder, die meestal van toepassing is op het gebruik van versiebeheer met de ORM. De functie is versie gedetecteerd op basis pg8000 1.9.14 of hoger gebruikt. Trek verzoek hoffelijkheid Tony Locke.
  • [postgresql] [bug] Een opnieuw om dit probleem op eerste gepatcht in 0.9.5, blijkbaar Type gesloten accessor psycopg2's is niet zo betrouwbaar als we ervan uitgegaan, dus we hebben een expliciete cheque voor de uitzondering berichten & quot toegevoegd; SSL SYSCALL fout : Bad bestandindicator & quot; en & quot; SSL SYSCALL fout: EOF gedetecteerd & quot; bij het detecteren van een scenario-disconnect. We zullen doorgaan met psycopg2's connection.closed als een eerste controle.
  • raadplegen
  • [postgresql] [bug] Fixed bug waar PostgreSQL JSON soort was niet in staat om te blijven bestaan ​​of anderszins maken van een SQL NULL kolom waarde, in plaats van een JSON-gecodeerde 'nul'. Om deze zaak te ondersteunen, wijzigingen zijn als volgt:
  • De waarde null () kan nu worden gespecificeerd, die altijd zal resulteren in een NULL-waarde resulteert in de verklaring.
  • Een nieuwe parameter JSON.none_as_null wordt toegevoegd, die als True aangeeft dat de Python Geen waarde moet worden peristed als SQL NULL, in plaats van JSON-gecodeerde 'nul'.
  • Retrival van NULL als None is ook gerepareerd voor andere doeleinden dan psycopg2, namelijk pg8000 DBAPIs.
  • [postgresql] [bug] De uitzondering wikkelsysteem voor DBAPI fouten kunnen nu niet-standaard DBAPI uitzonderingen, zoals de psycopg2 TransactionRollbackError tegemoet te komen. Deze uitzonderingen zullen nu worden opgewekt met behulp van de dichtstbijzijnde beschikbare subklasse in sqlalchemy.exc, in het geval van TransactionRollbackError, sqlalchemy.exc.OperationalError.
  • [postgresql] [bug] Fixed bug in postgresql.array object waar de vergelijking met een gewone Python lijst zou nog niet het juiste scala constructor gebruiken. Trek verzoek hoffelijkheid Andrew.
  • methode [postgresql] [bug] Toegevoegd een ondersteunde FunctionElement.alias () om functies, zoals de func construct. Voorheen voor deze methode is ongedefinieerd. De huidige gedrag bootst dat van de pre-0.9.4, dat is dat de functie is veranderd in een single-kolom FROM clausule met de gegeven alias naam, waar de kolom zelf anoniem wordt genoemd.
  • mysql:
  • [mysql] [bug] [mysqlconnector] Mysqlconnector vanaf versie 2.0, waarschijnlijk als neveneffect van de python 3 merge gaat nu verwacht procenttekens (bijvoorbeeld zoals gebruikt als de modulus operator en andere) worden verdubbeld, zelfs bij gebruik van de & quot; pyformat & quot; gebonden parameter formaat (deze verandering is niet gedocumenteerd door Mysqlconnector). Het dialect controleert nu voor py2k en voor mysqlconnector minder dan versie 2.0 bij het detecteren als de modulus operator moet worden weergegeven als %% of%.
  • [mysql] [bug] [mysqlconnector] Unicode SQL is nu voorbij voor MySQLconnector versie 2.0 en hoger; voor Py2k en MySQL & lt; 2.0, zijn strings gecodeerd.
  • sqlite:
  • [sqlite] [bug] Bij het selecteren van een UNION met behulp van een bijgevoegd databasebestand, de namen rapporten pysqlite bestuurder column in cursor.description als 'dbname.tablename.colname', in plaats van 'tablename.colname' zoals het normaal doet voor een UNION (let op dat het hoort gewoon 'colname' voor beide, maar we werken er omheen). De kolom vertaling logica hier is aangepast aan de meest rechtse token, dan de tweede token te halen, zodat het werkt in beide gevallen. Workaround hoffelijkheid Tony Roberts.
  • mssql:
  • [mssql] [bug] Fixed de versie draad detectie in de pymssql dialect om te werken met Microsoft SQL Azure, waarin het woord & quot verandert; SQL Server & quot; SQL Azure & quot;, & quot.
  • orakel:
  • [oracle] [bug] Fixed langdurige bug in Oracle dialect waar gebonden parameter namen die begonnen met nummers niet zou worden aangehaald, zoals Oracle houdt niet van numerieke waarden in gebonden parameter namen.
  • misc:
  • [bug] [declaratieve] Fixed een onwaarschijnlijke race condition waargenomen bij sommige exotische eindgebruiker setups, waarbij de poging om te controleren op & quot; dupliceren class naam & quot; in declaratieve op een niet-helemaal-gereinigd-up zwakke verwijzing in verband met een andere klas wordt verwijderd zou raken; de check hier zorgt er nu voor de weakref een object verwijst nog voordat een beroep op het verder.
  • [bug] [ext] Fixed bug in het bestellen overzicht waar de volgorde van items zou worden afgeworpen tijdens een verzameling vervangen gebeurtenis, als de reorder_on_append vlag werden ingesteld op True. De fix zorgt ervoor dat alleen de volgorde lijst van invloed op de lijst die expliciet wordt geassocieerd met het object.
  • [bug] [ext] Vast insect waar ext.mutable.MutableDict niet aan de uitvoering van de update () woordenboek methode, dus geen veranderingen te vangen. Trek verzoek hoffelijkheid Matt Chisholm.
  • [bug] [ext] Fixed bug waarbij een aangepaste subklasse van ext.mutable.MutableDict niet zou komen opdagen in een & quot; dwingen & quot; operatie, en zou in plaats daarvan terug een vlakte ext.mutable.MutableDict. Trek verzoek hoffelijkheid Matt Chisholm.
  • [bug] [zwembad] Fixed bug in verband zwembad logging waar de & quot; verbinding uitgecheckt & quot; debug logging boodschap zou niet uitstoten als de houtkap werden opgezet met behulp van logging.setLevel (), in plaats van de echo_pool vlag. Tests om deze logging gelden zijn toegevoegd. Dit is een regressie die in 0.9.0 geïntroduceerd.

Wat is nieuw in versie 0.5.0:

  • nieuwe functies
  • Algemeen
  • Documentatie is omgebouwd tot Sphinx. In het bijzonder, heeft de gegenereerde API-documentatie is gebouwd in een full blown & quot; API Reference & quot; sectie waar de redactionele documentatie gecombineerd met gegenereerd docstrings organiseert. Verknoping tussen secties en API docs zijn sterk verbeterd, een javascript-aangedreven zoekfunctie wordt verstrekt, en een volledige index van alle klassen, functies en leden wordt verstrekt.
  • setup.py importeert nu setuptools alleen optioneel. Indien niet beschikbaar wordt distutils gebruikt. De nieuwe & quot; pip & quot; installateur is aan te bevelen boven easy_install als het installeert in een eenvoudiger manier.
  • toegevoegd een zeer basic illustratie van een PostGIS integratie naar de map voorbeelden.
  • ORM
  • Query.with_polymorphic () accepteert nu een derde argument & quot; discriminator & quot; waarbij de waarde van mapper.polymorphic_on vervanging die zoekopdracht. Mappers zelf niet meer nodig polymorphic_on worden ingesteld, zelfs als de mapper heeft een polymorphic_identity. Wanneer niet is ingesteld, zal de mapper niet-polymorf laden standaard. Samen vormen deze twee functies kan een niet-polymorfe beton erfenis setup om polymorfe laden gebruiken op een per-vraag, omdat beton opstellingen zijn gevoelig voor veel problemen bij het polymorf in alle gevallen gebruikt.
  • dynamic_loader accepteert een query_class = naar de klassen Query gebruikt voor zowel de dynamische collectie en de queries gebouwd vanaf het aan te passen.
  • query.order_by () accepteert None die elke afwachting order_by toestand van de query wordt verwijderd, evenals teniet, mapper / relatie geconfigureerd bestellen. Dit is vooral handig voor het overschrijven van de bestelling aangegeven op een dynamic_loader (). [Kaartje: 1079]
  • sql
  • RowProxy objecten kunnen worden gebruikt in plaats van woorden argumenten naar connection.execute () en vrienden. [Kaartje: 935]
  • dialect
  • toegevoegd nieuwe description_encoding attribuut op dialect die wordt gebruikt voor het coderen van de kolom naam bij het verwerken van de metadata. Dit meestal standaard utf-8.
  • mssql
  • Toegevoegd in een nieuw MSGenericBinary type. Deze kaarten aan de Binary soort, zodat het de gespecialiseerde gedrag van de behandeling van de lengte gespecificeerde types als vaste breedte Binaire soorten en typen niet-lengte als een ongebonden variabele lengte Binary type kan implementeren.
  • Toegevoegd in nieuwe types: MSVarBinary en MSImage. [Kaartje: 1249]
  • Toegevoegd in de MSReal, MSNText, MSSmallDateTime, MSTime, MSDateTimeOffset en MSDateTime2 typen
  • sqlite
  • Tabel reflectie slaat nu de actuele DefaultClause waarde voor de kolom. [Kaartje: 1266]
  • bugfixes, gedragsveranderingen
  • Algemeen
  • ORM
  • Uitzonderingen die tijdens compile_mappers () worden nu bewaard te voorzien & quot; plakkerig gedrag & quot;
  • als een hasattr () gesprek in een vooraf gecompileerde toegewezen attribuut triggert een falende compileren en onderdrukt de uitzondering, wordt de daaropvolgende compilatie geblokkeerd en de uitzondering zal worden herhaald op () aanroep de volgende compilatie. Dit probleem treedt vaak op bij het gebruik van declaratieve.
  • property.of_type () wordt nu erkend op één tafel erven doel, wanneer gebruikt in de context van prop.of_type (..). Eventuele () / heeft (), alsmede query.join (prop. of_type (...)).
  • query.join () werpt een fout wanneer het doel van de verbinding komt niet overeen met het attribuut-eigenschappen gebaseerde
  • terwijl het onwaarschijnlijk lijkt dat iemand dit doet, de SQLAlchemy auteur was schuldig aan deze bijzondere loosey-goosey gedrag.
  • Fixed bug bij het gebruik van weak_instance_map = False waar gewijzigde gebeurtenissen niet zou worden onderschept voor een flush (). [Kaartje: 1272]
  • Vast een aantal diepe & quot; kolom correspondentie & quot; kwesties die invloed kunnen een query die tegen een selecteerbaar met meerdere versies van dezelfde tabel, evenals bonden en dergelijke, die dezelfde tabel kolommen in andere kolom posities op verschillende niveaus bevatten. [Kaartje: 1268]
  • Custom comparator klassen die worden gebruikt in combinatie met column_property (), relatie () etc. kunnen nieuwe methoden voor het vergelijken van de comparator, die beschikbaar zal komen te definiëren via __getattr __ () op de InstrumentedAttribute. Bij synoniem () of comparable_property (), zijn kenmerken eerst opgelost door de gebruiker gedefinieerde descriptor, vervolgens de gebruiker gedefinieerde comparator.
  • Toegevoegd ScopedSession.is_active accessor. [Kaartje: 976]
  • Kan passeren in kaart gebracht attributen en kolom objecten als sleutels tot query.update ({}). [Kaartje: 1262]
  • Toegewezen attributen doorgegeven aan de waarden () van een expressie niveau insert () of update () zal gebruik maken van de toetsen van de in kaart gebrachte kolommen, niet die van de in kaart gebrachte attribuut.
  • Gecorrigeerd probleem met Query.delete () en Query.update () niet goed werkt met bind parameters. [Kaartje: 1242]
  • Query.select_from (), from_statement () zorgen ervoor dat het gegeven argument is een FromClause, of Tekst / Select / Unie, respectievelijk.
  • Query () kunnen worden doorgegeven een & quot; composiet & quot; attribuut als kolomuitdrukking en zal worden uitgebreid. Enigszins verwant aan [kaartje: 1253].
  • Query () is een beetje robuuster wanneer doorgegeven verschillende kolomexpressies zoals strijkers, clauselists, tekst () constructies (wat kan betekenen dat het gewoon een fout geeft meer mooi).
  • eerste () werkt zoals verwacht met Query.from_statement ().
  • Fixed bug geïntroduceerd in 0.5rc4 betrekken popelen laden, werkt niet voor woningen die werden toegevoegd aan een mapper post-compileren met behulp add_property () of gelijkwaardig.
  • Fixed bug waar veel-op-veel-relatie () met viewonly = Waar zou niet correct verwijzen naar het verband tussen het secundair & gt;. Remote
  • Duplicate items in een lijst gebaseerde collectie zal worden gehandhaafd bij de afgifte van inserts een & quot; secundaire & quot; tabel in een veel-op-veel-relatie. Ervan uitgaande dat de M2M tafel heeft een unieke of primaire sleutel beperking op, dit zal de verwachte schending van de beperking in plaats van stil te laten vallen de dubbele items te verhogen. Merk op dat het oude gedrag blijft voor een een-op-veel-relatie sinds inzendingen collectie in dat geval niet leiden tot INSERT statements en SQLA niet handmatig politie collecties. [Kaartje: 1232]
  • Query.add_column () kan FromClause objecten op dezelfde wijze als session.query accept () kan
  • .
  • Vergelijking van veel-op-één relatie tot NULL is correct omgezet in niet null is gebaseerd op niet _ ().
  • Extra controles toegevoegd aan expliciete primaryjoin / secondaryjoin zorgen zijn ClauseElement gevallen om meer verwarrende fouten later te voorkomen. [Kaartje: 1087]
  • Verbeterde mapper () te controleren op niet-klasse klassen. [Kaartje: 1236]
  • comparator_factory argument is nu gedocumenteerd en ondersteund door alle MapperProperty soorten, waaronder column_property (), relatie (), backref (), en synoniem () [kaartje: 5051].
  • veranderde de naam van PropertyLoader om RelationProperty, in overeenstemming met alle andere namen te zijn. PropertyLoader is nog steeds aanwezig als synoniem.
  • vast & quot; dubbel iter () & quot; oproep veroorzaken busfouten in scherf API, verwijderd dolende result.close () overgebleven van de 0.4 versie. [Kaartje: 1099] [kaartje: 1228]
  • gemaakt Session.merge cascades niet leiden tot automatische spoeling. Fixes samengevoegd gevallen krijgen voortijdig gestoken met ontbrekende waarden.
  • Twee oplossingen om te voorkomen dat out-of-band kolommen van wordt gesmolten in polymorphic_union erfenis scenario's (die dan veroorzaakt extra tafels worden gesmolten in de FROM-component veroorzaakt cartesische producten):

  • Kolom aanpassing & quot;
  • verbeteringen aan & quot; voor a- & gt; b- & gt;. c overerving situaties beter kolommen die zijn verbonden met elkaar via meerdere niveaus van indirectie plaats waardoor de niet- aangepaste kolom lokaliseren
  • de & quot; polymorfe discriminator & quot; kolom wordt alleen gemaakt voor de daadwerkelijke mapper wordt bevraagd tegen. De kolom zal niet & quot; trok in & quot; van een subklasse of superklasse mapper omdat het niet nodig is.
  • Vaste shard_id argument op ShardedSession.execute (). [Kaartje: 1072]
  • sql
  • Columns kan weer procent tekens bevatten binnen hun namen. [Kaartje: 1256]
  • sqlalchemy.sql.expression.Function is nu een openbare klasse. Het kan worden subklassen aan de gebruiker gedefinieerde SQL-functies te bieden in een dwingende stijl, met inbegrip van vooraf vastgestelde gedragingen. De postgis.py voorbeeld toont een gebruik van dit.
  • PickleType gunsten nu == vergelijking standaard, als de inkomende object (zoals een DICT) __eq __ implementeert (). Als het object niet implementeert __eq __ () en veranderlijk = True, een deprecation waarschuwing wordt verhoogd.
  • Vaste import gekte in sqlalchemy.sql om niet exporteren __names__. [Kaartje: 1215]
  • Met dezelfde ForeignKey object herhaaldelijk een fout geeft in plaats van stilte later niet. [Kaartje: 1238]
  • methode Toegevoegd NotImplementedError voor params () op Invoegen / bijwerken / verwijderen constructies. Deze items op dit moment geen ondersteuning voor deze functie, die ook een beetje misleidend zou zijn in vergelijking met waarden ().
  • Uiting buitenlandse sleutels zullen hun kolom waarnaar verwezen wordt naar behoren te vinden, zelfs als de kolom een ​​& quot werd gegeven; sleutel & quot; attribuut anders de gereflecteerde naam. Dit wordt bereikt door middel van een nieuwe vlag op ForeignKey / ForeignKeyConstraint genaamd & quot; link_to_name & quot ;, als True betekent dat de opgegeven naam is genoemd, naar de naam kolom, niet zijn toegewezen toets. [Kaartje: 650]
  • select () een ClauseList als een kolom op dezelfde wijze als een tafel of ander selecteerbaar en het interieur uitdrukkingen accepteren gebruikt als kolomelementen. [Kaartje: 1253]
  • de & quot; passieve & quot; vlag op session.is_modified () correct doorgegeven aan het attribuut manager.
  • union () en union_all () zal niet whack geen order_by () die is toegepast op de select () s binnen. Als je vakbond () een select () met order_by () (vermoedelijk te ondersteunen LIMIT / OFFSET), moet u ook self_group () op te roepen om haakjes toe te passen.
  • de motor / zwembad
  • Connection.invalidate () controles voor gesloten status attribuut fouten te voorkomen. [Kaartje: 1246]
  • NullPool ondersteunt opnieuw op falen gedrag. [Kaartje: 1094]
  • Voegde een mutex voor de eerste pool creatie bij gebruik pool.manage (dbapi). Dit voorkomt dat een minderjarige geval van & quot; dogpile & quot; gedragingen die anders zouden optreden bij een zware lading opstarten. [Kaartje: 799]
  • _execute_clauseelement () gaat terug tot het zijn van een eigen methode. Subclassing Connection is nu niet nodig dat ConnectionProxy beschikbaar is.
  • documentatie
  • Tickets [kaartje: 1200] [kaartje: 1149].
  • Toegevoegd opmerking over create_session () in gebreke blijft.
  • Toegevoegd sectie over metadata.reflect ().
  • Bijgewerkt `TypeDecorator` sectie.
  • herschreef de & quot; ThreadLocal & quot; strategie sectie van de docs als gevolg van recente verwarring over deze functie.
  • slecht verwijderd uit de tijd 'polymorphic_fetch' en 'select_table' docs van successierechten, herwerkt de tweede helft van & quot; samengevoegde tabel erfenis & quot;.
  • Gedocumenteerde `comparator_factory` kwarg, voegde nieuwe doc sectie & quot; Custom Comparatoren & quot;.
  • mssql
  • refactored de Datum / Tijd types. De `` smalldatetime`` datatype niet meer afgekapt om alleen een datum, en zal nu worden toegewezen aan het type MSSmallDateTime. [Kaartje: 1254]
  • Gecorrigeerd een probleem met Numerics naar een int accepteren.
  • Toegewezen `` char_length`` naar de `` LEN () `` functie.
  • Als er een `` INSERT`` omvat een subselect de `` INSERT`` wordt omgezet van een `` INSERT INTO VALUES`` te bouwen naar een `` INSERT INTO SELECT`` constructie.
  • Als de kolom is een onderdeel van een `` primary_key`` het zal zijn `` NIET NULL`` sinds MSSQL staat niet toe dat `` NULL`` in primary_key kolommen.
  • `` MSBinary`` keert nu een `` BINARY`` in plaats van een `` IMAGE``. Dit is een achteruit onverenigbaar verandering in dat `` BINARY`` is een vaste lengte datatype terwijl `` IMAGE`` is een variabele soort lengte van gegevens. [Kaartje: 1249]
  • `` get_default_schema_name`` blijkt nu weer uit de database op basis van standaard schema van de gebruiker. Dit werkt alleen met MSSQL 2005 en later. [Kaartje: 1258]
  • Toegevoegd collatie ondersteuning door middel van het gebruik van een nieuwe collatie argument. Dit wordt ondersteund op de volgende types: char, nchar, varchar, nvarchar, tekst, ntext. [Kaartje: 1248]
  • Wijzigingen in de verbinding string parameters voorstander DSN als de standaard specificatie voor pyodbc. Zie de mssql.py docstring voor gedetailleerde instructies gebruik.
  • Toegevoegd experimentele ondersteuning van opslagpunten. Het op dit moment niet volledig werken met sessies.
  • Ondersteuning voor drie niveaus van kolom nullability: NULL, NOT NULL, en geconfigureerd standaard van de database. De standaard Column configuratie (nullable = True) zal nu NULL in de DDL. Voorheen geen specificatie werd uitgestoten en de database standaard in werking zou treden (meestal NULL, maar niet altijd). Expliciet te vragen de database standaard, kolommen configureren met nullable = Geen en geen specificatie zal worden uitgezonden in DDL. Dit is achterwaarts onverenigbaar gedrag. [Kaartje: 1243]
  • postgres
  • & quot;% & quot; tekens in de tekst () constructen worden automatisch ontsnapte aan & quot; %% & quot ;. Vanwege de achteruit onverenigbare karakter van deze verandering, is een waarschuwing horen als '%%' wordt gedetecteerd in de string. [Kaartje: 1267]
  • Calling alias.execute () in combinatie met server_side_cursors zal niet omhoog AttributeError.
  • Toegevoegd Index reflectie steun aan Postgres, met behulp van een grote patch we lang verwaarloosd, door Ken Kuhlman ingediend. [Kaartje: 714]
  • orakel
  • Gecorrigeerd het formaat van create_xid () te repareren COMMIT in twee fasen. We hebben nu veldrapporten van Oracle COMMIT in twee fasen goed werkt met deze verandering.
  • Toegevoegd OracleNVarchar soort, produceert NVARCHAR2 en subklassen ook Unicode zodat convert_unicode = True standaard. NVARCHAR2 weerspiegelt in dit type automatisch zodat deze kolommen passeren unicode op een weerspiegelde tafel met geen expliciete convert_unicode = True vlaggen. [Kaartje: 1233]
  • Fixed bug die werd voorkomen uit params van bepaalde vormen van wordt ontvangen; dankzij een ton aan huddlej bij wwu.edu! [Kaartje: 1265]
  • mysql
  • & quot;% & quot; tekens in de tekst () constructen worden automatisch ontsnapte aan & quot; %% & quot ;. Vanwege de achteruit onverenigbare karakter van deze verandering, is een waarschuwing horen als '%%' wordt gedetecteerd in de string.
  • Fixed bug in uitzondering raise wanneer FK kolommen niet tijdens reflectie presenteren. [Kaartje: 1241]
  • Fixed bug waarbij reflectie van een remote-schema tafel met een foreign key referentie naar een andere tafel in dat schema.
  • associationproxy
  • De vereniging proxy eigenschappen zijn zich ter beschikking op de klasse-niveau, bijvoorbeeld MyClass.aproxy. Eerder deze geëvalueerd op Geen.
  • declaratieve
  • De volledige lijst van argumenten aanvaard als touwtje door backref () bevat 'primaryjoin', 'secondaryjoin', 'secundaire', 'foreign_keys', 'remote_side', 'order_by'.

Eisen

  • Python

Vergelijkbare software

Reacties op SQLAlchemy

Reacties niet gevonden
Commentaar toe te voegen
Zet op de beelden!