Associazione molti-a-molti

Ciao Popolo,

Stò realizzando un progetto universitario, quindi non posso utilizzare
ne tabelle in inglese e neanche le chiavi esterne in standard rail.

Sono riuscito a risolvere quasi tutti i problemi dell’utilizzare tabelle
in italiano e chiavi con nome diverso da “id” … ma non sono riuscito a
realizzare una relazione molti-a-molti. Il mio problema è che o tabelle
tutte in italiano con chiavi che non si chiamano “id” e chiavi esterne
con nomi particolari.

Spero di essere stato chiaro … help!

Stò realizzando un progetto universitario, quindi non posso utilizzare
ne tabelle in inglese e neanche le chiavi esterne in standard rail.

?!

Mi sembra un po’ assurdo…


David N. Welton

Linux, Open Source Consulting

Roger wrote:

Ciao Popolo,

Stò realizzando un progetto universitario, quindi non posso utilizzare
ne tabelle in inglese e neanche le chiavi esterne in standard rail.

A meno che la traccia del progetto sia: “fai una web application IN
RAILS con QUESTO SCHEMA di db” allora dovresti scegliere uno tra:

  1. cambiare lo schema per utilizzare le convenzioni rails (e anche le
    tabelle in inglese) [1]

  2. cambiare il tool di sviluppo (rails e’ perfetto per lo sviluppo di
    applicazioni web, ma devi tenere in considerazione tutti i requisiti ed
    i constraint del progetto)

Se invece il progetto E’ “fai una web application IN RAILS con QUESTO
SCHEMA di db”, allora dovresti studiarti bene il supporto di rails per i
database legacy (mi pare che ci fosse anche un gruppo google
sull’argomento). Ma come gia ti sei accorto c’e’ molto di piu da
lavorare (almeno come “configurazione”, visto che non puoi usare molte
delle convenzioni)

HTH
Luca

[1] Quando mi sono laureato le tesi “dovevano essere” in italiano.
D’accordo con il relatore che mi seguiva abbiamo fatto un breve abstract
in italiano e tutto il contenuto come allegato in inglese (era un
contributo ad un piccolo progetto internazionale). Se invece il tuo e’
il progetto di un corso “rifiutare” l’uso dell’inglese anche solo nel
codice mi pare veramente assurdo.

Web: http://spazidigitali.com - http://thetyper.com
Email mailto://[email protected]
Skype callto://l.mearelli

Il db è già pronto ed è in italiano … quindi devo adeguarmi io … e
domare il rail.
Ora provo con google … cmq se avete altre idee sono pronto.

Nel thread “Convenzioni active record” che ho aperto un po’ di tempo fa
ho
posto circa la stessa domanda. Ci sono alcune risposte valide. Prova a
vedere.
Silvia

Le relazioni has many e compagnia accettano diverse opzioni tra le quali
nomi di tabelle e foreign keys. Controlla sulla documentazione.

Le mail ti raggiungono ovunque con BlackBerry® from Vodafone!

Giovanni I. wrote:

Le relazioni has many e compagnia accettano diverse opzioni tra le quali
nomi di tabelle e foreign keys. Controlla sulla documentazione.

Le mail ti raggiungono ovunque con BlackBerry® from Vodafone!

Grazie … mi sapresti indicare un sito?

±--------------+ ±--------------+
| SEDUTE | | DOCUMENTI |
±--------------+ ±--------------+
|numero_seduta |----------|numero_seduta |
|data |1 n|filename |
|ecc… | |ecc… |
±--------------+ ±--------------+

Diventa

class Documento < ActiveRecord::Base
belongs_to :seduta, :foreign_key => ‘numero_seduta’
End

class Seduta < ActiveRecord::Base
has_many :documenti, :foreign_key => ‘numero_seduta’
End

Non è neanche indispensabile che “numero_seduta” sia una primary key:
è semplicemente un campo di relazione
Active record non fa veramente caso a cosa ci sia sotto, si accontenta
di obbedirti ciecamente…

Jeko

Roger 83 wrote:

Grazie … mi sapresti indicare un sito?

allora intanto un po di riferimenti:
Innanzi tutto l’ottimo articolo su therubymine:

Poi:
Il gruppo su ruby & legacy databases:
http://groups.google.it/group/rubyonrails-legacy

Dr.Nic Composite primary keys:
http://compositekeys.rubyforge.org/
http://groups.google.it/group/compositekeys

ciao
Luca

Web: http://spazidigitali.com - http://thetyper.com
Email mailto://[email protected]
Skype callto://l.mearelli