Могу ли я изменить свои миграции в зависимости от адаптера базы данных? Как это будет отражаться в Schema.rb?
-
10-10-2019 - |
Вопрос
В частности, я хочу добавить spatial
Индекс в multi_polygon
столбец. Это хорошо работает в Postgresql но не в Mysql, поэтому я думал о чем -то вроде:
create_table :figures do |t|
t.multi_polygon :polygon
end
add_index :figures, :polygon if database_adapter == :postgresql
Это возможно и хорошая идея?
Решение
Вы можете пройти индекс таким образом
add_index (: рисунки, [: polygon ,: Extra1 ,: Extra2],: name => 'Fig_poly')
Это будет работать на MySQL, PostgreSQL, Oracle и DB2.
Не связан с StackOverflow