SQLAlchemy

Screenshot der Software:
SQLAlchemy
Softwarebeschreibung:
Version: 0.9.8
Upload-Datum: 17 Feb 15
Entwickler: Michael Bayer
Lizenz: Frei
Popularität: 85

Rating: 3.5/5 (Total Votes: 2)

SQLAlchemy ist ein Open Source, plattformunabhängig und freie Bibliothek Software in der Programmiersprache Python geschrieben und von Grund auf als eine Datenbank-Abstraktions Bibliothek handeln, ORM (Object Relational Mapper) und SQL-Toolkit für Python entwickelt.
Wenn Sie und rsquo; Re ein Python-Entwickler, SQLAlchemy Ihnen die volle Flexibilität und Leistungsfähigkeit von SQL und bietet eine vollständige Sammlung von populären Enterprise-Level-Persistenz Muster, die für hochleistungsfähige und effiziente Datenbank access.Features im Überblick Der Software entworfen wurden ist extrem einfach zu bedienen, leistungsstark genug für anspruchsvolle Aufgaben und modular. Mit SQLAlchemy können Sie anstehende CRUD-Operationen zu organisieren, ermöglicht die Verwendung von Booleschen Ausdrücken, Funktionen, Operatoren, Tabellen-Aliases, UNION-Klauseln, korreliert EXISTS Klauseln, zu erstellen, einfügen, löschen und Aktualisierungsabfragen wählbaren Unterabfragen, korrelierte Updates, Innen- und Outer-Joins und Parameter binden.
Zusätzlich kann es verwendet werden, um Datenbanken, sowie um sie zu werfen, Unterstützung für Ladebezogenen Objekten und Sammlungen, die Unterstützung für die Schaffung transparenter Persistenz von Objekten anhand Muster zu erzeugen, Unterstützung für die Manipulation und Konstruktion von Domänenmodelle sowie Unterstützung für die Synchronisierung alle Änderungen der aktuellen Transaktion automatisch.
Funktionalität s, einschließlich Korrelation, Joins und Unterabfragen, eine DBAPI Interaktionsschicht, eine Kern-SQL Bausystem, eine komplette, eigenständige Datenbank-Abstraktions; Neben anderen Funktionen können wir eine relational orientierte Abfragesystem, das & rsquo erwähnen; s in der Lage auszusetzen alle SQL & rsquo Schicht, die Unterstützung für erweiterbare SQL-Schema-Metadaten, Ausdruckssprache, Connection Pooling, benutzerdefinierte Typen und Typ coercion.Supports eine Vielzahl von databasesThe Programm umfasst Dialekte für eine Vielzahl von Datenbankservern und Motoren, einschließlich MySQL, PostgreSQL, Firebird, Oracle, Microsoft SQL Server, SQLite, Sybase, und viele andere.
Das Projekt ist unabhängig von einem Betriebssystem, das heißt, es kann leicht implementiert werden und auf allen GNU / Linux-Distribution verwendet, aber auch auf dem Microsoft Windows, BSD oder Mac OS X-Betriebssysteme. Sowohl 32-Bit- und 64-Bit-Hardware-Architekturen werden zur Zeit nicht unterstützt

Was ist neu in dieser Pressemitteilung:.

  • orm:
  • [orm] [Fehler] [Motor] Ein Fehler wurde behoben, der in der Regel die gleichen Klassen von Veranstaltung wie die # 3199, beeinflusst, wenn die benannten = True Parameter verwendet werden würde. Einige Ereignisse würden nicht zu registrieren, und andere würden die Ereignisargumente nicht ordnungsgemäß berufen, in der Regel im Falle, wenn ein Ereignis war, & quot; gewickelt & quot; zur Anpassung auf andere Weise. Die & quot; genannt & quot; Mechanik wurden neu angeordnet, um nicht mit dem Argument Unterzeichnung durch internen Wrapper-Funktionen erwarten stören.
  • [orm] [Fehler] Fehler behoben, die viele Klassen der Veranstaltung, insbesondere ORM Ereignisse, sondern auch Motor Veranstaltungen, bei denen die übliche Logik & quot betroffen; de Duplizieren & quot; eine redundante Aufruf event.listen () mit den gleichen Argumenten scheitern würden, für die Ereignisse, wo die Listener-Funktion wird eingewickelt. Eine Behauptung würde innerhalb registry.py getroffen werden. Diese Behauptung ist nun in der Deduplizierung Prüfung integriert, mit dem zusätzlichen Bonus von ein einfacher Mittel zur Überprüfung der Deduplizierung auf der ganzen Linie.
  • [orm] [Fehler] Fest Warnung, dass emittieren würde, wenn ein komplexer selbstreferentiellen primaryjoin enthaltenen Funktionen, während zur gleichen Zeit remote_side angegeben wurde; die Warnung würde vorschlagen, Einstellung & quot; Remote-Seite & quot ;. Es gibt nur jetzt, wenn remote_side nicht vorhanden ist.
  • orm deklarative:
  • [Bug] [deklarative] [orm] Feste & quot; "Nonetype 'Objekt hat kein Attribut' konkrete '& quot; Fehler bei der Verwendung AbstractConcreteBase in Verbindung mit einer Unterklasse, die __abstract erklärt __.
  • Motor:
  • [Motor] [Bug] Die Ausführungsoptionen zu einem Motor geführt entweder über create_engine.execution_options oder Engine.update_execution_options () werden nicht auf die spezielle Verbindung verwendet werden, um den Dialekt in initialisieren verabschiedete das & quot; zuerst eine Verbindung & rdquo; Ereignis; Dialekte werden in der Regel ihre eigenen Abfragen durchführen in dieser Phase, und keines der derzeit verfügbaren Optionen sollten hier angewendet werden. Insbesondere die & quot; Autocommit & quot; Option verursachte einen Versuch, in dieser ersten Autocommit verbinden, welche mit einem Attribute aufgrund der Nicht-Standard-Zustand der Verbindung fehlschlagen würde.
  • [Motor] [Bug] Die String-Schlüssel, die verwendet werden, um die Spalten für eine INSERT- oder UPDATE betroffen bestimmen, werden nun sortiert, wenn sie in Richtung der & quot beizutragen; zusammengestellt Cache & quot; Cache-Key. Diese Tasten wurden bisher nicht deterministisch geordnet, dh die gleiche Aussage konnte mehrfach auf gleichwertige Schlüssel zwischengespeichert werden, kostet sowohl in Bezug auf Speicher und Leistung.
  • sql:
  • [SQL] [Fehler] Fehler wurde behoben, eine ganze Reihe von SQL-Elemente innerhalb des SQL-Paket fehlschlagen würde, um __ (erfolgreich __repr), aufgrund einer fehlenden Beschreibung Attribut, dann rufen würde eine Rekursion Überlauf, wenn ein interner Attribute würde dann neu -invoke __repr __ ().
  • [SQL] [Fehler] Eine Anpassung Tabelle / Index Reflexion, so dass, wenn ein Index-Berichte eine Spalte, die nicht gefunden wird in der Tabelle vorhanden sein, wird eine Warnung ausgegeben und die Spalte übersprungen. Dies kann für einige spezielle System Spalte Situationen auftreten, wie dies bei Oracle beobachtet.
  • [SQL] [Fehler] Fehler behoben, in denen CTE literal_binds Compiler-Argument nicht immer ordnungsgemäß weitergegeben werden, wenn man CTE genannten anderen Alias ​​CTE in einer Erklärung werden.
  • [SQL] [Fehler] Fest 0.9.7 Regression von # 3067 in Verbindung mit einem falsch benannt Unit-Test hervorgerufen, so dass so genannte & quot; Schema & quot; Typen wie Boolean und Enum nicht mehr gebeizt werden.
  • postgresql:
  • [PostgreSQL] [Feature] [pg8000] Unterstützung für & quot hinzugefügt; sane Mehrzeilenanzahl & quot; mit dem pg8000 Fahrer, die vor allem gilt, wenn Sie die Versionierung mit der ORM. Die Funktion ist versions erkannt basierend auf pg8000 1.9.14 oder höher verwendet wird. Ziehen Anfrage Höflichkeit Tony Locke.
  • [PostgreSQL] [Fehler] A erneut auf dieses Thema zuerst in 0.9.5 gepatcht .closed Zugriffs psycopg2 ist offenbar nicht so zuverlässig, wie wir angenommen, so haben wir eine explizite Prüfung für die Ausnahmemeldungen & quot hinzugefügt; SSL SYSCALL Fehler : Bad Dateideskriptor & quot; und & quot; SSL SYSCALL Fehler: EOF erkannt & quot; bei der Erkennung von einem IS-disconnect-Szenario. Wir werden auch weiterhin psycopg2 als einen ersten Check connection.closed.
  • konsultieren
  • [PostgreSQL] [Fehler] Fehler wurde behoben, Postgresql JSON-Typ konnte nicht anhalten oder anders machen einen SQL NULL-Spaltenwert, sondern als ein JSON-kodierte 'null'. Um diesen Fall zu unterstützen, sind wie folgt:
  • Der Wert null () kann jetzt festgelegt werden, die jederzeit in der NULL-Wert, was zu der Aussage führt.
  • Ein neuer Parameter JSON.none_as_null hinzugefügt wird, die bei der True gibt an, dass der Python Keine Wert als SQL NULL, peristed anstatt JSON-codiert werden 'null'.
  • Retrival von NULL als None wird auch für andere Zwecke als psycopg2, nämlich pg8000 DBAPIs repariert werden.
  • [PostgreSQL] [Bug] Die Ausnahme Verpackungssystem für DBAPI Fehler können nun Platz für Nicht-Standard-DBAPI Ausnahmen, wie der psycopg2 TransactionRollbackError. Diese Ausnahmen werden nun mit dem nächsten verfügbaren Unterklasse in sqlalchemy.exc angehoben werden, im Falle von TransactionRollbackError, sqlalchemy.exc.OperationalError.
  • [PostgreSQL] [Fehler] Bug in postgresql.array Objekt, in dem Vergleich zu einem normalen Python-Liste würde nicht das korrekte Array Konstruktor verwenden. Ziehen Anfrage Höflichkeit Andrew.
  • [PostgreSQL] [Fehler] Hinzugefügt ist ein unterstützter FunctionElement.alias (), um Funktionen wie zB die Funk-Konstrukt. Zuvor Verhalten für diese Methode war nicht definiert. Die aktuelle Verhalten imitiert, dass der Pre-0.9.4, die, dass die Funktion in eine einspaltige FROM-Klausel mit dem gegebenen Alias-Namen, wo die Säule selbst ist anonym benannt gedreht ist.
  • mysql:
  • [mysql] [Fehler] [mysqlconnector] Mysqlconnector ab Version 2.0, wahrscheinlich als eine Nebenwirkung der Python 3 gehen, jetzt erwartet keine Prozentzeichen (zB verwendet als Modulo-Operator und andere) zu verdoppeln, auch bei Verwendung der & quot; pyformat & quot; gebundenen Parameter Format (diese Änderung nicht durch Mysqlconnector dokumentiert). Der Dialekt prüft jetzt py2k und mysqlconnector weniger als Version 2.0 bei der Erfassung, wenn der Modulo-Operator als %% oder% wiedergegeben werden.
  • [mysql] [Fehler] [mysqlconnector] Unicode SQL ist jetzt MySQLconnector Version bestanden 2.0 und höher; für Py2k und MySQL & lt; 2.0 werden Zeichenfolgen codiert werden.
  • sqlite:
  • [sqlite] [Fehler] Bei der Auswahl aus einer UNION mit einem angeschlossenen Datenbankdatei, die pysqlite Fahrer Berichte Spaltennamen in cursor.description als "dbname.tablename.colname 'statt' tablename.colname", wie es normalerweise der Fall ist für eine UNION (beachten Sie, dass es soll nur "Spaltenname" für beide, aber wir um ihn zu arbeiten). Die Spalte Übersetzungslogik hier wurde angepasst, um den am weitesten rechts Token, anstatt das zweite Token abzurufen, so dass es funktioniert in beiden Fällen. Abhilfe Höflichkeit Tony Roberts.
  • mssql:
  • [MSSQL] [Fehler] Fest die Versionszeichenerkennung im pymssql Dialekt, mit Microsoft SQL Azure, die das Wort & quot ändert arbeiten; SQL Server & rdquo; SQL Azure & quot;, & quot zu.
  • oracle:
  • [Oracle] [Fehler] Festlangjährigen Fehler in Oracle-Dialekt, wo gebunden Parameternamen, die mit Zahlen begonnen würde, nicht angegeben werden, da Oracle nicht wie Numerik in gebundener Parameternamen.
  • misc:
  • [Bug] [deklarative] Es wurde ein in einigen exotischen End-Anwender-Setups, wenn der Versuch, für & quot überprüfen beobachtet unwahrscheinlich Race Condition; doppelte Klassennamen & rdquo; in deklarativen würde auf eine nicht-ganz-bereinigten schwachen Verweis auf eine andere Klasse entfernt verwandt getroffen; die Prüfung jetzt hier sorgt die WeakRef ein Objekt vor dem Aufruf auf sie noch weiter verweist.
  • [Bug] [ext] Behoben: Fehler in der Bestellung Liste, in der die Reihenfolge der Einzelteile würden während einer Sammlung geworfen ersetzen Ereignis, wenn der reorder_on_append Flagge wurden auf True gesetzt. Das Update sorgt dafür, dass die Bestellliste wirkt sich nur auf die Liste, die mit dem Objekt explizit zugeordnet ist.
  • [Bug] [ext] Der Fehler, ext.mutable.MutableDict konnte die update () Methode implementieren Wörterbuch, also nicht fangen Veränderungen. Ziehen Anfrage Höflichkeit Matt Chisholm.
  • [Bug] [ext] Behoben: Fehler, eine benutzerdefinierte Unterklasse von ext.mutable.MutableDict würde nicht zeigen, bis in einen & quot; zwingen, & quot; Betrieb und würde stattdessen eine einfache ext.mutable.MutableDict zurückzukehren. Ziehen Anfrage Höflichkeit Matt Chisholm.
  • [Bug] [Pool] Behoben: Fehler im Verbindungspool Protokollierung, wo die & quot; Verbindung ausgecheckt & quot; Debug-Protokollierung Nachricht nicht ab, wenn die Protokollierung wurden mit logging.setLevel (gesetzt), anstatt die echo_pool Flagge. Versuche, diese Protokollierung zu behaupten wurden hinzugefügt. Das ist eine Regression, die in 0.9.0 eingeführt wurde.

Was ist neu in Version 0.5.0:

  • Neuerungen
  • General
  • Dokumentation hat Sphinx umgewandelt worden. Insbesondere hat die erzeugte API-Dokumentation zu einem ausgewachsenen & quot gebaut; API Reference & quot; Abschnitt, der redaktionelle Dokumentation in Verbindung mit erzeugt Docstrings organisiert. Die Vernetzung zwischen den Abschnitten und API-Dokumentation werden erheblich verbessert, ein Javascript-angetriebene Suchfunktion bereitgestellt wird, und eine vollständige Übersicht aller Klassen, Funktionen und Mitglieder zur Verfügung.
  • setup.py importiert nun Setuptools nur optional. Falls nicht vorhanden, wird distutils verwendet. Die neuen & quot; Pip & quot; Installationsprogramm über easy_install empfohlen, da es in einer vereinfachten Art und Weise installiert.
  • Mehr eine extrem Prinzipdarstellung einer PostGIS-Integration in den Ordner Beispiele.
  • orm
  • Query.with_polymorphic () akzeptiert nun ein drittes Argument & quot; Diskriminator & quot; was den Wert der mapper.polymorphic_on für diese Abfrage zu ersetzen. Mapper selbst nicht mehr benötigen polymorphic_on eingestellt werden, auch wenn der Mapper hat eine polymorphic_identity. Wenn nicht gesetzt, wird der Mapper nicht-polymorph standardmäßig zu laden. Zusammen bilden diese beiden Funktionen ermöglichen eine nicht-polymorphe Beton Erbe Setup polymorphe Beladung auf einer Pro-Abfrage Basis zu verwenden, da die konkreten Setups sind anfällig für viele Probleme, wenn polymorph in allen Fällen verwendet werden.
  • dynamic_loader akzeptiert eine QUERY_CLASS =, um die Abfrageklassen sowohl für die dynamische Sammlung und die Anfragen von gebaut verwendet anpassen.
  • query.order_by () übernimmt keine, die alle ausstehenden order_by Zustand aus der Abfrage entfernt wird, sowie aufheben jedem Mapper / Beziehung konfiguriert Bestellung. Dies ist vor allem hilfreich, wenn die auf einem dynamic_loader festgelegten Reihenfolge (). [Ticket: 1079]
  • SQL
  • RowProxy Objekte können anstelle Wörterbuch Argumente geschickt Connection.Execute () und verwendet werden. [Ticket: 935]
  • Dialekt
  • Es wurde eine neue description_encoding Attribut auf dem Dialekt, der für den Spaltennamen bei der Verarbeitung der Metadaten-Codierung verwendet wird. Diese in der Regel standardmäßig auf UTF-8.
  • mssql
  • Hinzugefügt in einem neuen MSGenericBinary Typ. Diese Karten auf den Binär-Typ, damit es die spezialisierten Verhalten Behandlung Länge angegebenen Typen als fester Breite Binäre Arten und Nicht-Länge Typen als ungebundene Variable Länge Binary Art implementieren können.

  • MSVarBinary und MSImage:
  • in neue Arten hinzugefügt. [Ticket: 1249]
  • Veröffentlicht im MSReal, MSNText, MSSmallDateTime, MSTime, MSDateTimeOffset und MSDateTime2 Typen
  • sqlite
  • Tabelle Reflexion speichert nun die tatsächliche default Wert für die Spalte. [Ticket: 1266]
  • Bugfixes, Verhaltensänderungen
  • General
  • orm
  • während compile_mappers angehoben Ausnahmen () werden nun beibehalten zu bieten & quot; klebrigen Verhalten & quot;
  • Wenn ein hasattr () Anruf auf einer vorkompilierte abgebildet Attribut löst eine versagende kompilieren und unterdrückt die Ausnahme, ist nachfolgende Zusammenstellung blockiert und die Ausnahme wird auf der nächsten Kompilierung () Aufruf wiederholt werden. Dieses Problem tritt häufig bei der Verwendung von deklarativen.
  • property.of_type () wird nun auf einem Single-Table erbt Ziel erkannt, wenn im Rahmen der prop.of_type (..) verwendet. Any () / () hat, sowie query.join (prop. of_type (...)).
  • query.join () löst einen Fehler aus, wenn das Ziel der Verknüpfung nicht den immobilienbasierten Attribut entsprechen
  • , während es ist unwahrscheinlich, jemand ist, dies zu tun, war der Autor SQLAlchemy schuldig diesem loosey-goosey Verhalten.
  • Ein Fehler wurde behoben, wenn Sie weak_instance_map = False in dem veränderten Ereignissen nicht für einen Flush abgefangen werden (). [Ticket: 1272]
  • Feste einige tiefe & quot; Spalte Korrespondenz & quot; Fragen, die eine Abfrage für eine wählbare, die mehrere Versionen des selben Tisch gemacht auswirken könnten, sowie Gewerkschaften und ähnliche, die die gleichen Tabellenspalten in verschiedenen Spaltenpositionen auf verschiedenen Ebenen enthalten. [Ticket: 1268]
  • Benutzerdefinierte Vergleichsklassen in Verbindung mit column_property verwendet (), Beziehung () usw. neue Vergleichsverfahren auf den Vergleicher, die verfügbar werden, wird festgelegt, über __getattr __ () auf der InstrumentedAttribute. Im Fall von Synonym () oder comparable_property (), Attribute werden zunächst auf dem benutzerdefinierten Deskriptor dann auf der benutzerdefinierten Komparator aufgelöst.
  • hinzugekommen ScopedSession.is_active Zub. [Ticket: 976]
  • Können abgebildet Attribute und Spaltenobjekte als Schlüssel übergeben, um query.update ({}). [Ticket: 1262]
  • Zugeordnete Attribute auf die Werte () einer Expressionsniveau insert () oder Update () übergeben die Schlüssel der abgebildeten Säulen, nicht des zugeordneten Attributs verwendet diesen.
  • Dieser Fehler wurde behoben Query.delete () und Query.update () nicht richtig funktioniert mit Bind-Parameter. [Ticket: 1242]
  • Query.select_from (), from_statement () dafür sorgen, dass der angegebene Argument ist eine FROM-Klausel oder Text / Select / Union auf.
  • query () übergeben werden ein & quot; Verbund & quot; Attribut als Spaltenausdruck und es wird weiter ausgebaut. Etwas auf [Ticket: 1253] zusammen.
  • Query () ist etwas robuster als bestanden verschiedenen Spaltenausdrücke wie Saiten, clauselists, text () Konstrukte (was bedeuten kann, es stellt nur eine Fehler mehr schön).
  • ersten () funktioniert wie bei Query.from_statement () erwartet.
  • Fixed bug in 0.5rc4 eingeführt mit eager loading funktioniert nicht für die Eigenschaften, die mit add_property () oder äquivalent zu einem Mapper nach der Kompilierung hinzugefügt wurden.
  • Fehler wurde behoben, viele-zu-viele-Beziehung () mit Viewonly = True nicht korrekt den Link verweisen zwischen Sekundär- & gt;. Fern
  • doppelte Elemente in einer Liste-basierte Sammlung beibehalten wird bei der Ausgabe von INSERT, um eine & quot; sekundäre & quot; Tabelle in einer Viele-zu-Viele-Beziehung. Angenommen, der m2m-Tabelle hat eine eindeutige oder Primärschlüssel-Integritäts darauf dies würde die erwartete Einschränkungsverletzung statt still Fallenlassen der doppelte Einträge zu erhöhen. Beachten Sie, dass das alte Verhalten bleibt für eine Eins-zu-Viele-Beziehung seit Sammlung Einträge in diesem Fall nicht in INSERT-Anweisungen führen und SQLA nicht manuell Polizei Sammlungen. [Ticket: 1232]
  • Query.add_column () kann FROM-Klausel Objekte in der gleichen Weise wie session.query accept () kann
  • .
  • Vergleich der Viele-zu-Eins-Beziehung auf NULL ist richtig umgewandelt IS NOT NULL auf Basis von nicht _ ().
  • Zusatzprüfungen hinzugefügt, um explizite primaryjoin / secondaryjoin gewährleisten ClauseElement Fällen zu verwirrender Fehler später zu verhindern. [Ticket: 1087]
  • Verbesserte Mapper () überprüfen, für Nicht-Klasse-Klassen. [Ticket: 1236]
  • comparator_factory Argument wird nun dokumentiert und von allen MapperProperty Typen unterstützt, darunter column_property (), Beziehung (), backref () und Synonym () [Ticket: 5051].
  • änderte den Namen PropertyLoader zu RelationProperty, im Einklang mit den anderen Namen zu sein. PropertyLoader ist immer noch als Synonym vorhanden.
  • Fest & quot; Doppel iter () & quot; Anruf verursacht Busfehler in Scherbe API, entfernt fehlerhafte result.close () auf der 0,4-Version gelassen. [Ticket: 1099] [Ticket: 1228]
  • gemacht Session.merge Kaskaden auslösen Autoflushing. Fixes zusammengeführt Fällen immer vorzeitig mit fehlenden Werten eingesetzt.
  • Zwei Fixes zur Vermeidung von Out-of-Band-Spalten in polymorphic_union Erbe Szenarien gemacht (die dann bewirkt, dass zusätzliche Tabellen, die in der FROM-Klausel verursacht kartesischen Produkten gemacht werden):

  • Spalte Anpassung & quot;
  • Verbesserungen & quot; für a- & gt; b- & gt;. c Vererbungssituationen besser zu lokalisieren Spalten, die miteinander über mehrere Dereferenzierungsebenen anstatt wodurch das nicht-angepasste Spalte verbunden sind
  • die & quot; polymorphe Diskriminator & quot; Spalte wird nur für die tatsächliche Mapper gegen abgefragt gerendert. Die Spalte wird nicht & quot; zog in & quot; aus einer Unterklasse oder Oberklasse-Mapper, da es nicht benötigt wird.
  • Feste shard_id Argument ShardedSession.execute (). [Ticket: 1072]
  • SQL
  • Spalten können wieder Prozentzeichen enthalten in ihrem Namen. [Ticket: 1256]
  • sqlalchemy.sql.expression.Function ist jetzt eine öffentliche Klasse. Es kann in Unterklassen unterteilt werden, um benutzerdefinierte SQL-Funktionen in einer imperativen Stil bieten, auch mit vorher festgelegten Verhaltensweisen. Die postgis.py Beispiel veranschaulicht eine Verwendung dafür.
  • PickleType begünstigt jetzt == Vergleich standardmäßig, ob das eingehende Objekt (zB einem dict) implementiert __eq __ (). Wenn das Objekt nicht implementiert __eq __ () und veränderliche = True, eine Missbilligung Warnung ausgelöst wird.
  • Der Fehler, der Import Verrücktheit in sqlalchemy.sql nicht __names__ exportieren. [Ticket: 1215]
  • Mit dem gleichen ForeignKey Objekt wiederholt löst einen Fehler, anstatt still andernfalls später. [Ticket: 1238]
  • hinzugekommen NotImplementedError für params () -Methode für Insert / Update / Delete-Konstrukte. Diese Posten derzeit nicht unterstützt diese Funktionalität, das wäre auch ein wenig irreführend, verglichen mit Werten ().
  • Reflected Fremdschlüssel wird richtig lokalisieren ihre referenzierten Spalte, auch wenn der Säule wurde ein & quot gegeben; Schlüssel & quot; Attribut unterscheidet sich von dem reflektierten Namen. Dies wird über eine neue Flagge auf ForeignKey / ForeignKeyConstraint erreicht namens & quot; & quot ;, link_to_name wenn TRUE bedeutet, dass der gegebene Name ist der Name bezeichnet-zu-Spalte, nicht aber seine zugewiesene Taste. [Ticket: 650]
  • select () kann eine ClauseList als Spalte in der gleichen Weise wie eine Tabelle oder andere wählbare und die Innen Ausdrücke akzeptieren als Spaltenelemente verwendet werden. [Ticket: 1253]
  • die & quot; passive & rdquo; Flagge auf session.is_modified () korrekt mit dem Attribut Manager vermehrt.
  • union () und union_all () wird jegliche order_by (), die an die Auswahl angewendet wurde () s innen nicht hauen. Wenn Sie union () einen select () mit order_by () (vermutlich zur Unterstützung LIMIT / OFFSET), sollten Sie auch self_group () auf, um es nennen Klammern gelten.
  • Motor / Pool
  • Connection.invalidate () prüft für geschlossene Status Attribut Fehler zu vermeiden. [Ticket: 1246]
  • NullPool unterstützt wieder auf Ausfallverhalten. [Ticket: 1094]
  • Es wurde ein Mutex für die erstmalige Erstellung eines Pools bei Verwendung pool.manage (DBAPI). Dies verhindert, dass eine kleine Falle & quot; dogpile & quot; Verhalten, die sonst bei einer schweren Last Start auftreten würde. [Ticket: 799]
  • _execute_clauseelement () geht zurück auf ein Privat Verfahren. Subclassing Verbindung ist nicht erforderlich, dass jetzt ConnectionProxy zur Verfügung.
  • Dokumentation
  • Tickets [Ticket: 1200] [Ticket: 1149].
  • Hinzugefügt Hinweis zu create_session () Standardwerte.
  • Hinzugefügt Abschnitt zu metadata.reflect ().
  • Aktualisiert `TypeDecorator` Abschnitt.
  • schrieb die & quot; Thread & quot; Strategie Schnitt der docs aufgrund der jüngsten Verwirrung über diese Funktion.
  • schlecht veraltet 'polymorphic_fetch "und" select_table' docs von Vererbung, entfernt überarbeitet die zweite Hälfte der & quot; verknüpfte Tabelle Vererbung & quot;.
  • Dokumentierte `comparator_factory` kwarg, fügte neue doc Abschnitt & quot; Benutzerdefinierte Komparatoren & quot;.
  • mssql
  • Refactoring die Datum / Uhrzeit-Typen. Die `` smalldatetime`` Datentyp nicht mehr schneidet nur ein Datum, und wird nun dem MSSmallDateTime Typ zugeordnet werden. [Ticket: 1254]
  • Ein Problem wurde behoben mit Numerik um einen int übernehmen.
  • wird der `` LEN () `` `` Funktion Zugeordnete char_length``.
  • Wenn ein `` INSERT`` umfasst eine Unterauswahl die `` INSERT`` von umgerechnet eine `` INSERT INTO VALUES`` konstruieren, um eine `` INSERT INTO SELECT`` Konstrukt.
  • Wenn die Spalte Teil einer `` primary_key`` wird es `` NICHT NULL`` seit MSSQL nicht in primary_key Spalten erlauben `` NULL``.
  • `` MSBinary`` gibt nun eine `` BINARY`` statt eines `` IMAGE``. Dies ist eine rückwärts kompatible Änderung dadurch `BINARY`` eine feste Länge Datentyp wohin` IMAGE`` ist ein variabler Länge Datentyp. [Ticket: 1249]
  • `` get_default_schema_name`` wird nun aus der Datenbank basierend auf Standardschema des Benutzers reflektiert. Dies funktioniert nur mit MSSQL 2005 und höher. [Ticket: 1258]
  • Hinzugefügt Zusammen Unterstützung durch den Einsatz einer neuen Zusammenstellung Argument. Dies wird auf folgende Arten unterstützt: char, nchar, varchar, nvarchar, text, ntext. [Ticket: 1248]
  • Änderungen an den Verbindungszeichenparameter bevorzugen DSN als Standard-Spezifikation für Pyodbc. Siehe mssql.py Docstring für detaillierte Bedienungshinweise.
  • Hinzugefügt experimentelle Unterstützung von Savepoints. Es noch nicht in vollem Umfang mit Sitzungen zu arbeiten.
  • Unterstützung von drei Ebenen der Nullfähigkeit der Spalte: NULL, NOT NULL, und der Datenbank konfigurierten Standard. Die Standard-Spaltenkonfiguration (nullable = True) generiert nun NULL in der DDL. Bisher keine Angabe emittiert wurde und die Datenbank standardmäßig in Kraft treten (in der Regel NULL, aber nicht immer). Um explizit anfordern die Datenbank standardmäßig konfiguriert Säulen mit nullable = None und keine Spezifikation wird in DDL emittiert werden. Dies ist rückwärts unvereinbar Verhalten. [Ticket: 1243]
  • postgres
  • & quot;% & quot; Zeichen in text () Konstrukte werden automatisch entkam nach & quot; & quot ;. %% Durch die nach hinten unvereinbar Natur dieser Veränderung, wird eine Warnung ausgegeben, wenn '%%' im String erkannt. [Ticket: 1267]
  • Der Aufruf alias.execute () in Verbindung mit server_side_cursors nicht Attribute erhöhen.
  • Added Index Reflexion Unterstützung für Postgres, mit einem großen Patch wir lange vernachlässigt, von Ken Kuhlman eingereicht. [Ticket: 714]
  • Oracle
  • Bereinigt das Format create_xid () zu reparieren zweiphasige Festschreibung. Wir haben jetzt Erfahrungsberichte von Oracle Zwei-Phasen-Commit ordnungsgemäß mit dieser Änderung.
  • hinzugekommen OracleNVarchar Art, produziert NVARCHAR2 und auch Unterklassen Unicode, so dass convert_unicode = True standardmäßig. NVARCHAR2 spiegelt in dieser Art automatisch, so dass diese Spalten passieren Unicode auf einem reflektierten Tabelle ohne ausdrückliche convert_unicode = True Fahnen. [Ticket: 1233]
  • Ein Fehler wurde behoben, der params bestimmter Arten von empfangen verhindern out wurde; Dank einer Tonne auf wwu.edu huddlej! [Ticket: 1265]
  • mysql
  • & quot;% & quot; Zeichen in text () Konstrukte werden automatisch entkam nach & quot; & quot ;. %% Durch die nach hinten unvereinbar Natur dieser Veränderung, wird eine Warnung ausgegeben, wenn '%%' im String erkannt.
  • Fixed bug in Ausnahmeerhöhung bei FK Spalten nicht bei der Reflexion zu präsentieren. [Ticket: 1241]
  • Fixed bug mit Reflexion eines Remote-Schema-Tabelle mit einem Fremdschlüssel ref an einen anderen Tisch in diesem Schema.
  • associationproxy
  • Die Vereinigung Proxy Eigenschaften machen sich an die Klassenstufe, zB MyClass.aproxy. Zuvor dies keine ausgewertet.
  • deklarative
  • Die vollständige Liste der Argumente backref als Zeichenfolge akzeptiert () enthält 'primaryjoin', 'secondaryjoin "," sekundäre "," FOREIGN_KEYS', 'remote_side', 'order_by'.

Anforderungen :

  • Python

Ähnliche Software

Kommentare zu SQLAlchemy

Kommentare nicht gefunden
Kommentar hinzufügen
Schalten Sie auf die Bilder!