2012-12-06 2 views
3

최근 Heroku에서 배포 한 이후 제작에 필요한 레일즈 응용 프로그램의 포스트그레스로 전환하여 제작 작업을 수행하려고합니다. Postgres는 데이터베이스 이름을 내가 알고있는 기본 이름 인 'postgres'와 동일하게 설정하면 응용 프로그램에 올바르게 설치되고 작동합니다.database.yml 파일 구성 및 postgres - rake db : drop db : create db : migrate

그러나 개발, 테스트 및 생산을 위해 데이터베이스 이름을 변경하고 싶습니다. 단순히 database.yml을에서 이름을 변경하고, 레이크 작업을 실행하려고하면, 내 터미널에서 다음과 같은 오류가 발생합니다 :

여기
NOTICE: database "something_development" does not exist, skipping 
Couldn't drop something_test : #<PG::Error: could not connect to server: No such file or directory 
Is the server running locally and accepting 
connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?> 
rake aborted! 
FATAL: database "something_development" does not exist 

내 database.yml을 파일이 현재 모습입니다 :

development: 
    adapter: postgresql 
    host: localhost 
    database: something_development 

    username: name 


test: 
    adapter: postgresql 
    database: something_test 
    pool: 5 
    timeout: 5000 

production: 
    adapter: postgresql 
    host: localhost 
    username: name 
    database: something_production 

누락 된 다른 단계가 있습니까? 내가 여기에서 명백한 무엇인가 놓치고 있으면 사과! 감사!

답변

3

database.yml 파일의 이름을 변경하면 데이터베이스를 찾는 위치 만 변경되고 실제로 데이터베이스 자체의 이름은 변경되지 않습니다. 지정된 위치를 변경하는 경우 GU 도구 (예 : navicat 또는 pgadmin) 또는 command line을 사용하여 일치하도록 데이터베이스의 이름을 바꿔야합니다.

또한 난독 화 생략 일 수도 있지만 게시 된 출력은 shredset_developmentsomething_development을 모두 나타냅니다. 계속 실패하면 아마도 모든 이름이 모든 곳에서 동일하다는 것을 확인하십시오.

+1

감사합니다.이 트릭을 수행했습니다. 명령 줄에서 postgres에 들어가기 위해 psql을 입력 한 다음 ALTER DATABASE name RENAME TO newname 다음에 실행하려면 \ g를 입력하십시오. 또한 내 질문에 난독 화 오류를 수정했습니다. – pvskisteak5

+0

바로 위에, 당신은 환영합니다! –

관련 문제