无法使用activerecord-postgis-adapter添加st_point列

时间:2016-12-30 17:39:31

标签: ruby-on-rails ruby postgresql activerecord postgis

这是我在project github上所写内容的非常简单的副本。请原谅我发帖,但我希望有人在这里遇到这个错误:

undefined method `st_point' for #
<ActiveRecord::ConnectionAdapters::PostgreSQL::TableDefinition:0x0055cdd8f278e8>

这是我的Gemfile锁:

activerecord (4.2.7.1)
activerecord-postgis-adapter (3.1.4)

和迁移:

class CreateLocations < ActiveRecord::Migration
  def change
    enable_extension "postgis"
    create_table :locations do |t|
      t.st_point :geom, geographic: true, srid: 4326, dimension: 2
      t.timestamps
    end
  end
end

奇怪的是,这在开发模式下有效。就在我为测试环境运行迁移时,它就失败了。

rake db:create RAILS_ENV=test之后,我已使用psql与测试数据库连接并运行CREATE EXTENSION postgis;

TL;博士

迁移中的

t.st_point未定义,仅在测试环境中。

1 个答案:

答案 0 :(得分:0)

ENV [“DATABASE_URL”]中的错误是“postgres”而不是“postgis”

这是其他人在线程上提出的建议。不检查这个问题我很顽固,但事实证明这是正确的原因。