Python database wrapper
Massimo Masson
massimo.masson@libero.it
Lun 20 Ott 2003 15:18:56 CEST
Roberto Cavada wrote:
[...]
> Quando sento che qualcuno sta lavorando su un nuovo progetto, mi domando
> subito cos'altro c'e' in giro.
Giusto.
> Cosi' cercando in rete ho trovato un articolo molto interessante che
> tratta l'argomento, e un paio di progetti:
> http://www-106.ibm.com/developerworks/library/l-pypers.html
Questa e' una cosa un po' diversa, si parla di persistenza degli oggetti
e di pcikling, ovvero scrittura degli oggetti su disco. Il dbms qui non
c'entra molto.
> http://skunkweb.sourceforge.net/PyDO/
L'avevo visto, progetto interessante, mi pare molto ben fatto. Unica
cosa e' che utilizza i dizionari come interfaccia per il db, almeno
all'epoca in cui avevo guardato, il che non astrae su un oggetto vero e
proprio il dato. Non c'e' nulla mi male, ma avevo in mente una cosa
leggermente differente.
> http://modeling.sourceforge.net/main.html
Questo e' interessante e non lo conoscevo. Me lo guardero'.
Inoltre esiste il nuovo SQLObject che fa certamente meglio di me, ed in
un modo simile (anche se piu' avanzato, in quanto usa massicciamente le
metaclassi per interfacciare gli oggetti a Python), ma non avevo potuto
adottarlo in quanto fa assunzioni un po' "sue" sulla struttura delle
tabelle (cosa che io voglio rigorosamente evitare: la progettazione
della base dati deve essere indipendente dagli strumenti usati per
gestirla) e non supportava le chiavi primarie su piu' colonne (e a me
servono).
Invece, molto simile al mio, ho visto essere PDO, che rassomiglia di
piu' anche come interfaccia API. L'ho visto a mio lavoro quasi ultimato,
ad ogni modo non ho trovato le funzione di relazione diretta tra oggetti
(che a me servono. Non so se non le abbia, solo non le ho trovate).
Certamente il mio "giocattolo" e' il meno interesante di tutti, ma mi
serve per un'altra cosa che sto portando avanti (anch'essa ha progetti
simili con cui confrontarsi, ma non esattamente quello che vorrei io, al
solito! ;) ) e quindi gli ho messo dentro esattamente tutte le cose che
ero certo mi servissero (e che quando ho iniziato non avevo trovato
altrove, probabilmente per mia incompetenza nella ricerca). Questo solo
per giustificare la "nascita" di una cosa "nuova".
Io volevo comunque evitare di fare assunzioni sulla struttura del DB e
di fare le tabelle in base ai miei oggetti, volevo chiavi multicolonna e
relazioni 1:1 e 1:n. E me le sono scritte! :p
> Infine sembra pertinente Zope Object Database (ZODB), che come gli altri
> puo' essere di aiuto per prendere ispirazioni:
> http://www.zope.org/Products/StandaloneZODB
Sicuramente un progetto favoloso, ma come da specifiche e' nato
essenzialmente per leggere grosse quantita' di dati e scriverne poche.
Altrimenti loro stessi ti indirizzano ad altro.
Inoltre io voglio lavorare su tabelle che restino fruibili anche
indipendentemente dal mio software.
Cosi', in sintesi, le motivazioni che mi avevano spinto.
Ad ogni modo, grazie per gli spunti,
Max
Maggiori informazioni sulla lista
blug