Domanda banale su migrations e primary keys


#1

Le migrations in automatico per ogni tabella creano una primary key di
solito chiamata con lo stesso nome della tabella col suffisso _id, il
tipo
data di tale campo e’ integer.
E se volessi usare un altro campo o due campi assieme come primary key?


#2

mmh… le primary key di solito si chiamano soltanto ‘id’ , se vuoi però
puoi operare per modificare questa cosa:

Nella migrazione:

create_table :blablabla, :primary_key=>:nomecolonna do
blabla
end

Nel model:

class BlaBla < ActiveRecord::Base
set_primary_key :nomecolonna
end

dovrebbe bastare,

per quanto invece riguarda primary keys doppie non credo che
activerecord le
tenga… :frowning:

Sandro

2008/12/22 Mauro removed_email_address@domain.invalid


#3

2008/12/22 Sandro P. removed_email_address@domain.invalid

class BlaBla < ActiveRecord::Base
set_primary_key :nomecolonna
end

dovrebbe bastare,

per quanto invece riguarda primary keys doppie non credo che activerecord
le
tenga… :frowning:

mmm io devo gestire 3 tabelle: un’anagrafica fornitori, una categorie
merceologiche e una settori.
I fornitori possono far parte di una o piu’ categorie merceologiche e
ogni
categoria appartiene ad un settore.
Allora: la tabella settori ha come primary key sector_id, la tabella
categorie ha una foreign key sector_id per matenere l’integrita’ dei
dati.
Poi…per me la tabella categorie dovrebbe avere come primary key i
campi
settore e codice categoria, in quanto devono essere univoci, cioe’ ci
possono essere categorie con stesso codice ma appartenenti a settori
diversi.