pr1*_*001 5 postgis ruby-on-rails heroku
我正在尝试在Heroku上的Rails应用程序中启用PostGIS.我Gemfile
的activerecord-postgis-adapter
宝石包括:
gem 'activerecord-postgis-adapter', '3.0.0'
Run Code Online (Sandbox Code Playgroud)
但是,在启动我的实例后,我没有看到启用完全支持:
$ heroku run irb
Running `irb` attached to terminal... up, run.5549
irb(main):001:0> require 'rgeo'
=> true
irb(main):002:0> RGeo::Geos.supported?
=> false
Run Code Online (Sandbox Code Playgroud)
我已经添加了Postoku 文章中指定的heroku-geo-buildpack,尽管我使用的是更新的,真正的multi-buildpack格式:
$ heroku buildpacks
=== staging Buildpack URLs
1. https://github.com/cyberdelia/heroku-geo-buildpack.git#1.3
2. https://github.com/heroku/heroku-buildpack-ruby.git#v140
Run Code Online (Sandbox Code Playgroud)
我很困惑,因为我的构建过程看起来是正确的:
-----> Multipack app detected
-----> Fetching custom git buildpack... done
-----> geos/gdal/proj app detected
Using geos version: 3.4.2
Using gdal version: 1.11.1
Using proj version: 4.8.0_1
-----> Vendoring geo libraries done
-----> Fetching custom git buildpack... done
-----> Ruby app detected
-----> Compiling Ruby/Rails
...
Run Code Online (Sandbox Code Playgroud)
我错过了什么?我没有BUILDPACK_URL
环境变量集,因为我收集了旧的multi-buildpack方法.
PostGIS 可以与 Heroku Free dyno 和: - Rails 4.2
- activerecord-postgis-adapter 3.1.4 配合 使用
你必须:
default: &default
adapter: postgis
encoding: unicode
# For details on connection pooling, see rails configuration guide
# http://guides.rubyonrails.org/configuring.html#database-pooling
pool: 5
development:
<<: *default
database: adopt_your_geek_development
username: postgres
host: mydb.com
port: 9999
postgis_extension: postgis
schema_search_path: public,postgis
...
production:
<<: *default
database: appname_production
username: appname
password: <%= ENV['ADOPT_YOUR_GEEK_DATABASE_PASSWORD'] %>
postgis_extension: postgis
schema_search_path: public,postgis
Run Code Online (Sandbox Code Playgroud)
$ heroku buildpacks:add https://github.com/ddollar/heroku-buildpack-multi.git
Run Code Online (Sandbox Code Playgroud)
使用以下 .buildpacks 文件:
$ cat .buildpacks
https://github.com/cyberdelia/heroku-geo-buildpack.git
https://github.com/heroku/heroku-buildpack-ruby.git
Run Code Online (Sandbox Code Playgroud)
module ActiveRecord
module ConnectionHandling
class MergeAndResolveDefaultUrlConfig
private
def config
@raw_config.dup.tap do |cfg|
if url = ENV['DATABASE_URL']
cfg[@env] ||= {}
cfg[@env]["url"] ||= url.try(:gsub, "postgres", "postgis")
end
end
end
end
end
end
Run Code Online (Sandbox Code Playgroud)
我现在在 Heroku 免费 dyno 和免费 postgres 上为我工作。
归档时间: |
|
查看次数: |
581 次 |
最近记录: |