简体   繁体   中英

Unable to use Postgis on Bluemix Compose for Postgresql

I have a Compose for Postgresql service on IBM Bluemix which isn't allowing me run PostGIS functions on my cloud foundry rails app. I have run "CREATE EXTENSION PostGIS;" and I have also added the adapter to database.yml. Compose for Postgresql says PostGIS comes installed by default

I am using Ruby on Rails with the rgeo gem and the error is

ERR NoMethodError: undefined method `st_point' for #

Can you please let me know if there is anything I need to do to get PostGIS working?

请提出支持请求,要求在撰写实例上启用postgis插件。

Answered my own question. The problem was with the rgeo gem and the adapter. I needed the postgis:// adapter for working with the gem.

Bluemix does not allow you to change the adapter in their connections. It will always be postgresql. To get around this I set a CUSTOM_DATABASE_URL environment variable with the connection string postgis://<username>:<password>@host:port/<db_name> . Using the cf client this would look like

cf set-env <app-name> CUSTOM_DATABASE_URL postgis://<username>:<password>@host:port/<db_name>

Then in the command for my container in the manifest.yml, I prepended setting DATABASE_URL = CUSTOM_DATABASE_URL, specifically

DATABASE_URL=$CUSTOM_DATABASE_URL &&.....

Its a workaround for now until Bluemix allows us to change the adapter in the connections.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM