저는 PostgreSQL과 HSTORE를 사용하는 레일즈 애플리케이션을 배포하고 있습니다.고무를 사용하여 배포 할 때 hstore를 활성화하십시오.
배포하려면 rubber을 사용하고 있습니다.
HSTORE가 제대로 활성화되지 않은 것을 제외하면 모든 것이 작동합니다. execute("CREATE EXTENSION hstore")
실행을 포함 마이그레이션, 나는 다음과 같은 오류 얻을 때 :
create_user_cmd = "CREATE USER #{env.db_user} WITH NOSUPERUSER CREATEDB NOCREATEROLE"
그래서 난 문제가 NOSUPERUSER
과 관련이있을 것 같아요 :
** [out :: production.---]
** [out :: production.---] -- execute("CREATE EXTENSION hstore")
** [out :: production.---]
** [out :: production.---] rake aborted!
** [out :: production.---] An error has occurred, this and all later migrations canceled:
** [out :: production.---]
** [out :: production.---] PG::Error: ERROR: permission denied to create extension "hstore"
** [out :: production.---] HINT: Must be superuser to create this extension.
포스트그레스 인스턴스를 생성하는 스크립트를이 코드를 가지고 속성이 여기에 설정됩니다.
대부분의 생성 된 파일을 변경하지 않고 고무를 사용하여 hstore를 활성화하는 방법은 있습니까?
보석류'activerecord-postgres-hstore'을 사용해 보았습니까? 그것은 마이그레이션에 의해 hstore의 기능을 설치합니다. –
마이그레이션을 실행할 때 사용 권한에 문제가 있습니다. 나는 보석을 설치했다. – pgb