2012-02-08 2 views
0

Я пытаюсь создать пользовательский индекс общей базы данных PostgreSQL на Heroku в рельсы миграции:Невозможно создать индекс на Heroku общей базы данных

-- execute("create index on items using gin(to_tsvector('english', name));") 
rake aborted! 
An error has occurred, this and all later migrations canceled: 

PGError: ERROR: syntax error at or near "on" 
LINE 1: create index on items using gin(to_tsvector('english', name)... 
        ^
: create index on items using gin(to_tsvector('english', name)); 

Он отлично работает в разработке, PostgreSQL устанавливается через Homebrew (9,1)

ответ

2

из инструкции Postgres:

CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ] name ON table [ USING method ] 
    ({ column | (expression) } [ opclass ] [, ...]) 
    [ WITH (storage_parameter = value [, ... ]) ] 
    [ TABLESPACE tablespace ] 
    [ WHERE predicate ] 

Я думаю, что вам не хватает имя индекса.

+0

Ух, да, я только что понял, спасибо :) – kain

+1

в какой-то момент вокруг версии 9, имя индекса было сделано необязательным (ну, postgresql будет автоматически указывать индексы, если вы не укажете его), но общая делянка Heroku - версия 8 iirc. – araqnid

Смежные вопросы