Ho un database che utilizza UUID come chiavi primarie, in questo modo:Rails: posso utilizzare riferimenti polimorfici con chiavi primarie non interi?
create_table "my_table", :id => false, :force => true do |t|
t.string "id", :limit => 36
end
Tuttavia, quando cerco di usare: i riferimenti per le chiavi esterne a quel tavolo, genera colonne integer per l'ID. Can: i riferimenti devono essere istruiti per trattare un ID non intero? La mia migrazione per la tabella di riferimento è in questo modo:
create_table "child_table" :id => false, :force => true do |t|
t.string "id", :limit => 36
t.references :my_table
end
So che ho potuto solo creare manualmente :my_table_id
e :my_table_type
colonne, ma mi chiedo se :references
può essere fatto per fare la sua magia in queste circostanze in modo che io non è necessario gestire il tipo id + esplicitamente nel mio codice.
Sì, ho appena controllato la fonte ActiveRecord e è hardcoded perché l'ID sia un numero intero. – kdt