2010-10-21 20 views
1

Plus précisément, je souhaite ajouter un index spatial dans une colonne multi_polygon. Cela fonctionne bien dans PostgreSQL mais pas dans MySQL, donc je pensais somthing comme:Puis-je modifier mes migrations en fonction de l'adaptateur de base de données? Comment cela va-t-il se refléter dans le schéma.rb?

create_table :figures do |t| 
    t.multi_polygon :polygon 
end 

add_index :figures, :polygon if database_adapter == :postgresql 

Est-il possible et une bonne idée?

Répondre

0

Vous pouvez passer l'index de cette façon

add_index (: chiffres, [: polygone,: extra1,: extra2],: name => 'fig_poly')

Cela fonctionne sur MySQL, PostgreSQL, Oracle et DB2.

+0

Quels sont: extra1 et: extra2? Une autre colonne? –

+0

@Erik Oui. Une autre colonne –