Ошибка при запуске команды rake в проекте rails 2 - PullRequest
1 голос
/ 17 февраля 2012

Я запускаю проект rails 2 со следующими самоцветами, georuby ,atial_adapter. И Postgres db в качестве бэкэнда. Но я сталкиваюсь с этой ошибкой. Я устал от установки Postgis также, но все еще получить это. Любые идеи, что я должен попробовать. Это проект rails 2.3, так что я пропускаю некоторые требования к версии. Это утверждение кажется правильным, и я тоже его посмотрел. Пожалуйста, помогите.

[root@localhost webapp]# rake db:migrate 
(in /root/mysite/webapp)
==  CreatePlaces: migrating ===================================================
-- create_table(:places, {:id=>false})
   -> 0.0030s
-- execute("alter table places add primary key (id)")
NOTICE:  ALTER TABLE / ADD PRIMARY KEY will create implicit index "places_pkey" for table "places"
   -> 0.1144s
-- execute("select AddGeometryColumn('public', 'places', 'point_geometry', 4326, 'POINT', 3)")
rake aborted!
An error has occurred, this and all later migrations canceled:

PGError: ERROR:  function addgeometrycolumn(unknown, unknown, unknown, integer, unknown, integer) does not exist
LINE 1: select AddGeometryColumn('public', 'places', 'point_geometry...
               ^
HINT:  No function matches the given name and argument types. You might need to add explicit type casts.
: select AddGeometryColumn('public', 'places', 'point_geometry', 4326, 'POINT', 3)

Спасибо

1 Ответ

2 голосов
/ 20 февраля 2012

Я не связывал post gis с postgres. Таким образом, столкнулся с этой проблемой.

Следуйте инструкциям ниже и сначала создайте свою базу данных.

Первым шагом в создании базы данных PostGIS является создание простой базы данных PostgreSQL.

createdb [yourdatabase]

Many of the PostGIS functions are written in the PL/pgSQL procedural language. As such, the next step to create a PostGIS database is to enable the PL/pgSQL language in your new database. This is accomplish by the command

createlang plpgsql [yourdatabase]

Now load the PostGIS object and function definitions into your database by loading the postgis.sql definitions file (located in [prefix]/share/contrib as specified during the configuration step).

psql -d [yourdatabase] -f postgis.sql

For a complete set of EPSG coordinate system definition identifiers, you can also load the spatial_ref_sys.sql definitions file and populate the spatial_ref_sys table. This will permit you to perform ST_Transform() operations on geometries.

psql -d [yourdatabase] -f spatial_ref_sys.sql

If you wish to add comments to the PostGIS functions, the final step is to load the postgis_comments.sql into your spatial database. The comments can be viewed by simply typing \dd [function_name] from a psql terminal window.

psql -d [yourdatabase] -f postgis_comments.sql
...