SQLAlchemy, et open source SQL-værktøjssæt og objektrelationel kortlægger

sqlalchemy

SQLAlchemy er Python SQL-værktøjssættet og objektrelationel mapper, der giver applikationsudviklere al kraften og fleksibiliteten fra SQL.

Holdet bag SQLAlchemy for nylig, open source SQL-værktøjet og en objektrelationel kortlægning skrevet i Python, frigivet udgivelsen af ​​den nye version 2.0.

For dem, der ikke er klar over SQLAlchemy, bør du vide det er et python sql-værktøjssæt og objektrelationsmapper, giver et omfattende sæt af velkendte persistensmodeller designet til effektiv, højtydende databaseadgang, skræddersyet i et simpelt Pythonic-domænesprog.

Store nye funktioner i SQLAlchemy 2.0

Den nye version 2.0 af SQLAlchemy kommer med betydelige API-ændringer sammenlignet med 1.4-serienMed dette er det vigtigt at bemærke, at applikationer, der arbejder med 1.x-pakken og ikke har gennemgået migreringsprocessen, bør sikre, at kravene er defineret for at holde det ønskede hovedsæt af SQLAlchemy-versioner på plads.

SQLAlchemy 2.0 integrerer nye ORM-syntakser, der er kompatible med pep-484 intet plugin: ORM-deklarationsstilen i mapper-konfigurationen har nu et helt nyt udseende, der låner kraftigt fra systemer som Pythons dataklasser og SQLModel for at levere annotationsbaserede ORM-sætninger, ved at bruge runtime-fortolkningen af ​​pep-484-annoteringerne til at producere kortlagte klasser som er fuldt indtastede og kompatible med enhver type tester eller IDE.

En anden af ​​de ændringer, der skiller sig ud i denne nye version af SQLAlchemy 2.0 er, at introducerer støtte til en deklarativt tildelt klasse annoteret, der kan genereres direkte som en Python-dataklasse; dette resulterer i en ORM-kortlagt klasse, der erklæres som enhver anden klasse, med automatisk genererede dataklassemetoder. Denne nye tilgang er væsentligt forbedret i forhold til de foreløbige "hybride" tilgange introduceret i SQLAlchemy 1.4.

Udover dette kan vi også opleve, at det præsenterer optimeringer i skemareflektionsarkitektur hvilket i grunden er næsten nyt, siden nu operationer, der afspejler hele skemaer på én gang, såsom MetaData.reflect og de nyligt tilføjede skema-dækkende operationer med inspec-konstruktionen, de er nu baseret på et fundament, der forudsætter operationer, der opererer på hundreder eller tusinder af borde ad gangeni stedet for ét bord ad gangen.

Den nye arkitektur er aktiveret for PostgreSQL- og Oracle-backends, som var de to backends med de største præstationsproblemer for store skemaer, hvor det giver en 250% forbedring for PostgreSQL og en 900% forbedring for Oracle. SQL Server-dialekten er det næste mål for den nye arkitektur. Enhver tredjepartsdialekt kan vælge det nye "mange borde på én gang"-system eller forblive på den gamle "bord på én gang", som forbliver fuldt understøttet uden ændringer.

Endvidere der foreslås en helt ny tilgang til INSERT, fuldt integreret med ORM, som typisk er en størrelsesorden hurtigere på de fleste backends - de fleste databaser og Drivere understøttet af SQLAlchemy har nu tilføjet eller forbedret deres understøttelse af syntaksen INDSÆT RETURNERING.

Den nye version af SQLAlchemy 2.0 benyttede lejligheden til at understøtte og forbedre RETURNING support sFor alle dine backends, med den eneste undtagelse af MySQL (kun MySQL; MariaDB understøtter RETURNING belastninger).

En del af denne forbedring er muligheden for at indsætte tusindvis af rækker i en enkelt batch-erklæring, der også returnerer et komplet sæt server-genererede værdier, der er nødvendige for ORM, hvilket aldrig har været muligt før, med den eneste undtagelse af en foreløbig implementering som var baseret på psycopg2-driveren.

I version 2.0 Der er arbejdet på at optimere INSERT til alle backends, så tusindvis af ORM-objekter med eller uden primærnøgler, og denne funktion er fuldt integreret i ORM for alle INSERT-operationer, både for "normale" arbejdsenheds-ORM-operationer og "bulk"-tilgange, som også for nylig blev revideret i version 2.0.

Endelig, hvis du er interesseret i at vide mere om det, kan du konsultere detaljerne I det følgende link.

Det skal bemærkes, at den nye version af SQLAlchemy 2.0 er en betydelig nok udgivelse til at have to migreringsvejledninger: Hovedmigreringsvejledningen forklarer, hvordan man sikrer API-kompatibilitet for en applikation til at fungere på SQLAlchemy 1.4 eller 2.0.


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.