我可以根据数据库适配器更改迁移吗?它将如何反映在 schema.rb 中?
具体来说,我想在 multi_polygon
列中添加一个 spatial
索引。这在PostgreSQL中工作得很好,但在MySQL中则不然,所以我在想这样的事情:
create_table :figures do |t|
t.multi_polygon :polygon
end
add_index :figures, :polygon if database_adapter == :postgresql
这可能是一个好主意吗?
Specifically, I want to add an spatial
index in a multi_polygon
column. This works nicely in PostgreSQL but not in MySQL, so I was thinking of somthing like:
create_table :figures do |t|
t.multi_polygon :polygon
end
add_index :figures, :polygon if database_adapter == :postgresql
Is it possible and a good idea?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以通过这种方式传递索引
add_index(:figures, [:polygon,:extra1,:extra2], :name => 'fig_poly')
这适用于 mysql、postgresql、oracle 和 db2。
You can pass index this way
add_index(:figures, [:polygon,:extra1,:extra2], :name => 'fig_poly')
This will work on mysql,postgresql,oracle and db2.