ruby-on-rails – Rails PostGIS错误迁移数据库

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Rails PostGIS错误迁移数据库前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在关注Daniel Azuma在 geospatial analysis with rails的演讲,但是当我运行rake db:在第二个项目中迁移时,我遇到困难.

我的设置细节如下:我正在运行Postgresql Postgres.app,它给了Postgres 9.1.3版本和PostGIS 2.0.0版本.我遇到几个问题与database.yml文件,并运行迁移. (我已经添加了相关的宝石,并在application.rb中要求他们的信息)

我的database.yml文件如下所示:

development:
   adapter: postgis
   postgis_extension: true
   host: localhost
   encoding: unicode
   database: my_app_development
   pool: 5
   username: my_app
   password:

如果我添加以下行schema_search_path:“public,postgis”我得到:

rake aborted!
 PG::Error: ERROR:  schema "postgis" does not exist
 : SET search_path TO public,postgis

如果我删除该行我尝试迁移我的数据库时收到以下错误

rake aborted!
PG::Error: ERROR:  relation "geometry_columns" does not exist
LINE 1: SELECT * FROM geometry_columns WHERE f_table_name='schema_mi...                       ^
: SELECT * FROM geometry_columns WHERE f_table_name='schema_migrations'

有没有人想到如何解决这些问题?

解决方法

将PostGIS扩展在公共模式中,并在postgis模式中重新创建它.
DROP EXTENSION PostGIS;

CREATE SCHEMA postgis;
CREATE EXTENSION PostGIS WITH SCHEMA postgis;
GRANT ALL ON postgis.geometry_columns TO PUBLIC;
GRANT ALL ON postgis.spatial_ref_sys TO PUBLIC

猜你在找的Ruby相关文章