Pensate sia necessario utilizzare anche i contraints del database, mi
riferisco alle foreign keys, o bastano e avanzano i controlli che fa
rails con has_many, ecc.?
Io mi limiterei ad avere tutti i controlli in un UNICO punto: i
modelli RoR vanno più che bene.
2010/9/28 Mauro [email protected]:
Pensate sia necessario utilizzare anche i contraints del database, mi
riferisco alle foreign keys, o bastano e avanzano i controlli che fa
rails con has_many, ecc.?
Ml mailing list
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml
–
Carlo P.
email: [email protected]
twitter: @carlopecchia
Il 28/09/10 10.48, Mauro ha scritto:
Pensate sia necessario utilizzare anche i contraints del database, mi
riferisco alle foreign keys, o bastano e avanzano i controlli che fa
rails con has_many, ecc.?
Se rails è l’unico punto di accesso al db userei solo rails, in altri
casi utilizzare gli strumenti del db è utile e ti dà la garanzia di dati
“puliti” in ogni caso
2010/9/28 Mauro [email protected]:
Pensate sia necessario utilizzare anche i contraints del database, mi
riferisco alle foreign keys, o bastano e avanzano i controlli che fa
rails con has_many, ecc.?
Le validazioni da sole non offrono garanzie totali. In particolare,
validates_uniqueness_of e validates_associated non proteggono da
accessi concorrenti.
L’uso di constraint db è l’unico modo di avere la certezza di
mantenere la consistenza dei dati.
pietro - www.zephirworks.com
Pietro G. wrote:
L’uso di constraint db � l’unico modo di avere la certezza di
mantenere la consistenza dei dati.
Mi associo e confermo per esperienza diretta.
Andrea
Le validazioni da sole non offrono garanzie totali. In particolare,
validates_uniqueness_of e validates_associated non proteggono da
accessi concorrenti.L’uso di constraint db � l’unico modo di avere la certezza di
mantenere la consistenza dei dati.
Sono d’accordo, un database ben strutturato è la chiave per un
applicazione sicura (e per future nuove versioni), se perdi 1 ora per
aggiungere le chiavi poi sei sicuro di essere a posto per sempre (metti
un giorno di dover agire sui dati manualmente o tramite un altro
software…)