我正试图将polygon
列类型更改为multipolygon
列类型。
我的代码很简单。
change_column :messages, :area_shape, :multipolygon, srid: 3785
但是
Postgres
不知道这种类型。我以为我的PostGIS
配置遗漏了一些东西,但我看不到。这是我的错误:
rake aborted!
PG::UndefinedObject: ERROR: type "multipolygon" does not exist
: ALTER TABLE "messages" ALTER COLUMN "area_shape" TYPE multipolygon
这就是我将
area_shape
创建为polygon
类型的方式:add_column :messages, :area_shape, :polygon, srid: 3785
谢谢你的帮助。
最佳答案
我不知道RGeo
如何尝试实现change_column
(有相关文档吗?),但这是不正确的,因为没有这样的multipolygon
类型。
如果您可以从this answer直接访问PostgreSQL,请使用此DDL:
ALTER TABLE my_table
ALTER COLUMN area_shape TYPE geometry(MultiPolygon,3785)
USING ST_Multi(area_shape);
关于ruby-on-rails - 通过迁移的MultiPolygon列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23461009/