Могу ли я изменить свои миграции в зависимости от адаптера базы данных? Как это будет отражаться в Schema.rb?

StackOverflow https://stackoverflow.com/questions/3988820

  •  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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top