这是我在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
未定义,仅在测试环境中。
答案 0 :(得分:0)
ENV [“DATABASE_URL”]中的错误是“postgres”而不是“postgis”
这是其他人在线程上提出的建议。不检查这个问题我很顽固,但事实证明这是正确的原因。