4
我使用Rails 3.1,我與PostGIS的geometry
數據類型的表不完全兼容。這些似乎與rake db:schema:dump
或rake db:test:clone
和rake test:*
任務不兼容。包含這個數據類型的表只是不被這些rake任務處理和實例化。Rails的PostgreSQL的+ PostGIS幾何數據類型
是否有補丁或解決方案呢?
我使用Rails 3.1,我與PostGIS的geometry
數據類型的表不完全兼容。這些似乎與rake db:schema:dump
或rake db:test:clone
和rake test:*
任務不兼容。包含這個數據類型的表只是不被這些rake任務處理和實例化。Rails的PostgreSQL的+ PostGIS幾何數據類型
是否有補丁或解決方案呢?
有一個解決方案:
首先,你需要一個PostgreSQL template
在PostGIS功能的支持。
創建模板數據庫:
$ psql -U postgres
> CREATE DATABASE template_postgis WITH TEMPLATE=template1 ENCODING='UTF8';
> \c template_postgis;
> CREATE LANGUAGE plpgsql;
加載必要的PostGIS功能爲模板(我使用的是自制,於是找到路徑到您的PostGIS SQL文件):
$ psql -f /usr/local/share/postgis/postgis.sql template_postgis
$ psql -f /usr/local/share/postgis/spatial_ref_sys.sql template_postgis
設置數據庫模板和授予權限:
$ psql -U postgres template_postgis
> UPDATE pg_database SET datistemplate = TRUE WHERE datname = 'template_postgis';
> GRANT ALL ON geometry_columns TO PUBLIC;
> GRANT ALL ON spatial_ref_sys TO PUBLIC;
然後,添加gem 'postgis_adapter'
到您的Gemfile
並運行bundle
。 之後添加template: template_postgis
您config/database.yml
這樣的:
development:
adapter: postgresql
template: template_postgis
database: postgis_db
而且 - 瞧!歡迎加入!
我有我的PostGIS數據庫指向類似的問題,我們認爲,我們已經把範圍縮小到SchemaDumper方法,可能與spacial_adapter。我還沒有解決方法。 – 2012-01-13 17:17:01