| 
 | |||||||
| 
 | 
|  | 
|  | 
|  | Strumenti | 
|  12-02-2013, 17:10 | #1 | 
| Senior Member Iscritto dal: Mar 2007 Città: Milano Beach 
					Messaggi: 1696
				 | 
				
				[Generico/Python] ORM Vs. raw sql
			 
		Buondì, lancio un quesito ad alto potenziale 'guerra di religione'  Sto sviluppando una piccola applicazione web in Python (basata su Flask, presumibilmente) che si interfaccia con un db, parliamo di una decina di tabelle su un dbms ancora da decidere (qua si usa Oracle per tutto, ma preferirei un dedicato mysql o postgresql), in select / insert / update. Ora.. avrebbe senso usare un orm (nello specifico SQLAlchemy, con cui ho giochicchiato in passato ma solo a scopo 'didattico') o continuo a scrivere SQL a mano?  Fino ad ora ho smanacciato su applicazioni molto semplici, max 1-2 tabelle usando sql liscio, quindi non saprei dire quali sarebbero i pro e i contro. Nel frattempo sto spilucchiando un po' su Internet e su una copia di Essential SQLAlchemy trovata in ufficio, giusto per farmi un idea.  Thx! 
				__________________ ~ Cthulhu: MacBookPro 13.3" ~ Azathoth: D510MO | 
|   |   | 
|  12-02-2013, 18:57 | #2 | 
| Senior Member Iscritto dal: Jan 2002 Città: Germania 
					Messaggi: 26110
				 | 
		Nel corso degli anni ho sviluppato una mia sorta di ORM, che mi consente di fare tipo: Codice: DB.Users[ID, Surname, Name, Status, UUID].Where[ID.In(MyFriends.keys())].OrderBy[ID].List()) In realtà non è proprio un ORM, perché non consente di creare istanze di un'entità, modificarle, o cancellarle. Si tratta di un wrapper di alto livello che consente di esprimere SELECT, INSERT (con += ), DELETE (con -= ovviamente) e UPDATE (con = ) senza passare da SQL né da un sistema complesso qual è un ORM. Mi trovo benissimo così, perché utilizzo una sintassi a me cara (Python), e mi astraggo dal particolare engine SQL per quanto possibile. Ad esempio non specifico %s o ? per il binding dei parametri: fa tutto lui in maniera trasparente. Oppure per prendere le 30 righe dopo le prime 10, uso il classico slicing di Python: [10 : 40], che verrà tradotto in LIMIT per MySQL e RAWS per FireBird, ecc. 
				__________________ Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys | 
|   |   | 
|  12-02-2013, 19:29 | #3 | 
| Senior Member Iscritto dal: Mar 2007 Città: Milano Beach 
					Messaggi: 1696
				 | 
		Ah figata.   Vabbè alla fine credo che usero SQLAlchemy. Tanto con cursor e fetchmany me la so già cavare, così imparo ad usare qualcosa di nuovo.   
				__________________ ~ Cthulhu: MacBookPro 13.3" ~ Azathoth: D510MO | 
|   |   | 
|  12-02-2013, 21:34 | #4 | 
| Senior Member Iscritto dal: Jan 2002 Città: Germania 
					Messaggi: 26110
				 | 
		SQLAlchemy è un'istituzione nel mondo di Python, per cui male non fai di sicuro.    
				__________________ Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys | 
|   |   | 
|   | 
| Strumenti | |
| 
 | 
 | 
Tutti gli orari sono GMT +1. Ora sono le: 06:59.









 
		 
		 
		 
		







 
  
 



 
                        
                        










