2012-01-03 7 views
4

私はRails 3.1を使用していますが、私はPostGIS geometryデータ型のテーブルを持っています。これらはrake db:schema:dumpまたはrake db:test:clonerake test:*タスクと互換性がないようです。このデータ型を含むテーブルは、これらのレーキタスクによって単純に処理されインスタンス化されません。Railsはpostgresql + postgisジオメトリデータタイプと完全には互換性がありません

これに対応するパッチまたは解決策はありますか?解決策はあり

+0

私のPostGISデータベースのポイントにも同様の問題があります。私たちは、spacial_adapterを使ってSchemaDumperメソッドに絞り込んだと考えています。私はまだ回避策がありません。 –

答えて

4

:すべての

まず、あなたはPostGISの機能をサポートしてPostgreSQLのtemplateを必要としています。

テンプレートデータベースを作成します(私は自作を使用して、ので、あなたのPostGISのSQLファイルへのパスを見つけるよ)テンプレートに

$ psql -U postgres 
> CREATE DATABASE template_postgis WITH TEMPLATE=template1 ENCODING='UTF8'; 
> \c template_postgis; 
> CREATE LANGUAGE plpgsql; 

ロードに必要なPostGISの機能を:

$ 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を実行してください。 それは、このようなあなたのconfig/database.ymltemplate: template_postgisを追加した後:

development: 
    adapter: postgresql 
    template: template_postgis 
    database: postgis_db 

と - 出来上がり!ご乗車(搭乗)ありがとうございます!

関連する問題