sql >> Databasteknik >  >> RDS >> Mysql

Vilka är de livskraftiga databasabstraktionslagren för Python

Titta mycket noga på SQLAlchemy.

Du kan testa och utveckla med SQLite.

Du kan gå i produktion med MySQL -- gör i princip inga ändringar i dina applikationer.

Även om DB-API tillämpas allmänt, har den tillräckligt med flexibilitet för att (1) du inte är isolerad från SQL-variationer i det underliggande RDBMS och (2) det fortfarande finns DB-drivrutinsspecifika funktioner som är svåra att dölja.

Ett annat bra ORM-lager är ORM som är en del av Django . Du kan (med lite ansträngning) bara använda Django ORM utan att använda resten av Djangos webbramverk.

Använd ett ORM-lager (SQLAlchemy eller SQLObject) framför DB-API.

Varför? Din modell ska vara en solid, tydlig, genomtänkt OO-modell. Den relationella mappningen bör komma i andra hand efter objektmodellen. SQLAlchemy gör detta till ett rimligt tillvägagångssätt.

Ett "DB Abstraktionslager" kommer att ske i det normala händelseförloppet. På grund av DB-API (som används av SQLAlchemy) gav du faktiskt två abstraktionslager:ORM och DB-API.



  1. Hur skickar man XML från C# till en lagrad procedur i SQL Server 2008?

  2. MySQL vad är den maximala storleken på en databas?

  3. åtkomst till mysql i värd från gäst virtualbox

  4. Tilldela om värdåtkomstbehörighet till MySQL-användare