Storm är ett Python- programmeringsbibliotek för objektrelationell mappning mellan en eller flera SQL- databaser och Python-objekt. Det tillåter Python-utvecklare att formulera komplexa frågor som spänner över flera databastabeller för att stödja dynamisk lagring och hämtning av objektinformation.
MySQL , PostgreSQL och SQLite databasstöd är inbyggt i Storm, och API:et tillåter stöd för andra. Storm stöder också webbramarna Django och Zope inbyggt. Twisted support planeras för .20-versionen.
Utveckling
Storm utvecklades på Canonical Ltd. i Python för användning i Launchpad- och Landscape -applikationerna och släpptes sedan 2007 som fri programvara. Projektet är fri programvara och släppt under GNU Lesser General Public License och bidragsgivare måste tilldela upphovsrätt till Canonical. Versionskontroll görs i bazaar och problemspårning i Launchpad.
Version |
Utgivningsdatum |
Förbättringar |
Storm 0,21 |
TBD |
Under utveckling från 2013 |
Storm 0,20 |
28 juni 2013 |
- En ny CaptureTracer har lagts till i storm.testing.
- Setuptools krävs nu för att köra setup.py. Detta gör det lättare att installera beroenden som krävs för att köra testsviten.
- PostgreSQL-frånkopplingsfel upptäcks nu mer tillförlitligt.
- Insert-uttryck stöder nu INSERT-satser med flera rader och underfråga.
- Stöd i postgres backend för att använda RETURNING-tillägget för UPDATE, valfritt ange kolumner som ska returneras.
- Lägg till ett distinkt uttryck för att förbereda 'DISTINCT' till SQL-uttryck.
- Växla till REPETERBAR LÄS som isoleringsnivå för Postgres.
- Lägg till stöd för två-fas commits (endast PostgreSQL).
- ZStormResourceManager har nu ett schema_stamp_dir valfritt instansattribut, så schemauppgraderingar kommer endast att utföras när det behövs.
|
Storm 0.19 |
5 oktober 2011 |
- Storm.zope.testing.ZStormResourceManager stöder användning av en anpassad URI.
- ResultSet.configs "distinkt" argument accepterar en tupel av kolumner.
- Tillhandahåll inslagna markörobjekt i Django integrationslager.
- Lägg till en ny JSON-egenskap, ny ROW-konstruktor, nya Cast-uttryck och två nya spårare.
- Ny storm.twisted.transact-modul har lagts till.
|
Storm 0.18 |
25 oktober 2010 |
- Inkludera kod för att hantera och migrera databasscheman.
- Lade till en storm.zope.testing.ZStormResourceManager-klass för att hantera en uppsättning registrerade butiker.
- När ett TimeoutError uppstår innehåller det en beskrivning om varför undantaget togs upp.
- Förbättrade IResultSet-gränssnittet för att dokumentera skälen till varför vissa attribut inte ingår.
|
Storm 0.17 |
5 augusti 2010 |
- ResultSet och ReferenceSet är omarbetade och förbättrade.
- Klasserna Store och Connection har metoderna block_access() och unblock_access().
- ZStormError kommer att uppstå vid försök att använda ett lager per tråd från fel tråd.
|
Storm 0.16 |
29 november 2009 |
- Uppsättningsuttryckskonstruktorn kommer nu att platta till sitt första argument om det är av samma typ.
- Lägg till metoderna startswith(), endswith() och contains_string() till Comparable.
- C-tillägg är aktiverade som standard.
- 'make doc' använder Pydoctor för att generera API-dokumentation.
|
Storm 0.15 |
8 augusti 2009 |
- Lägg till stöd för senaste versionen på Django genom att inte kontrollera argument som skickas till _cursor.
- Ny GenerationalCache, UUID-egenskapstyp, Neg-uttryck och Coalese-uttryck lades till.
- Förbättrad DisconnectionError-rapportering.
- Resultat/Resultatuppsättningar exponerar nu mer.
|
Storm 0.14 |
9 januari 2009 |
- Ett nytt storm.django-paket har lagts till.
- Butikskonstruktorn tar ett valfritt cache-nyckelordsargument,
- ResultSets erbjuder nu en is_empty()-metod.
|
Storm 0.13 |
28 augusti 2008 |
- Lägg till group_by/having-metoder på ResultSet-objekt.
- Ändra tester/lagra för att behålla anslutningen under testerna.
- Implementerat stöd för att plugga in generiska "spårämnen".
- Egenskaper accepterar nu en "validator"-parameter.
- Uttryck kan skickas till Store.find() såväl som klasser.
- Föremål spolas i den ordning de blir smutsiga.
- ClassAlias cachar alla explicit namngivna alias.
- Resultatuppsättningar och referensuppsättningar har nu en __contains__()-metod.
|
Storm 0.12 |
28 januari 2008 |
- Anslutningen kommer att återansluta automatiskt när droppar upptäcks.
- Store.flush() kommer inte att ladda värden som infogats i databasen
- Stöd i postgres backend för att använda RETURNING-tillägget.
- Introducerade en cache-mekanism som håller de N senast hämtade objekten i minnet.
- Förbättrat stöd för TimeDelta-egenskaper på alla backends.
|
Storm 0.11 |
8 oktober 2007 |
Mindre buggfixar release. |
Storm 0,10 |
8 augusti 2007 |
Bugfixar, funktionsförbättringar, dokumentation! |
Storm 0,9 |
6 juli 2007 |
|
Se även
externa länkar