[Python] python SQL?

Daniele Tricoli eriol a mornie.org
Dom 16 Feb 2014 12:00:55 CET


On Sunday 16 February 2014 10:35:51 Carlos Catucci wrote:
> Beh che vuoi, nessuno e' perfetto ;)

Mai detto il contrario! :-)
 
> Comunque posso fare una macchina di test uguale a quella di produzione da
> subito e fare le prove, pero' per il quotidiano se il progetto e'
> condiviso, aiuta.

Sì certo, il mio pensiero, appunto è che bisogna comunque conoscere il 
tradeoff che si fa utilizzando una determinata soluzione, soprattutto visto 
che l'OP si sta affacciando per la prima volta su questo specifico argomento.

L'ORM ti dà flessibilità, ma ti "nasconde" feature specifiche di un 
determinato database, e la domanda da porsi, IMHO, è: quanto costa tale 
flessibilità? E quanto senso ha accettare tale costo?
Per la maggior parte dei progetti il costo sarà anche nullo (anche in termini 
di debito tecnologico), ma non possiamo escludere che in alcuni casi la 
flessibilità di poter cambiare database di produzione è una feature che non 
verrà mai sfruttata. :-)

Per quanto riguarda il testing, nel caso in cui lavorassimo ad un progetto 
insieme ti proporrei, al posto di un database SQLite da condividere, di usare 
un ORM (così si fa in fretta :D) per creare delle testsuite al volo (da poi 
integrare correttamente però) per poter dire cose del tipo:

«Carlos, dai un'occhiata a sandobox/eriol/test_for_1234.py?»

Dove test_for_1234.py andrebbe a mettere in evidenza il problema creando da 
zero il database e riempiendolo[¹]. Uno dei vantaggi che mi viene subito in 
mente è che nel caso in cui stessimo indagando problemi diversi che impattano 
la stessa parte del database, possiamo condividere il problema senza dover 
condividere due db SQLite, ad esempio.

Ma la parte più importante è l'essersi messi d'accordo tra noi su come fare il 
testing condiviso! :-)

Buona domenica,

[¹] niente fixture please ;-)

--
 Daniele Tricoli 'Eriol'
 http://mornie.org


Maggiori informazioni sulla lista Python