2013-12-11 2 views
0

나는 이틀 동안 Heroku를 배포 할 때 동일한 문제가 발생했습니다. 그래서 OpenSift를 대신 사용하려고 생각했지만, Michael Hartl의 Ruby On Rails 튜토리얼, Second Edition을 읽고 있습니다. 모두 알고 있듯이, 그들은 Heroku를 사용합니다. 내 실수가 깊고 복잡해 졌기 때문에 처음부터 다시 생각해 봤지만 이번 호에서 끝나야겠다. 약자로Postgres로 SQLite를 대체하려고하면 잘못된 디렉토리에있는 것 같습니다.

, 내가 읽은 : https://devcenter.heroku.com/articles/sqlite3

새 레일 응용 프로그램을 시작하는 경우, 당신은 기본 데이터베이스 실행하여 포스트 그레스를 만들 수 있습니다

$ rails new -d postgresql 

을 나는이 작업을 수행 할 때 이것이 내가 만나는 것입니다.

$ rails new -d postgresql 
Can't initialize a new Rails application within the directory of another, please change to a non-Rails directory first. 
+1

이 기사에서는 '기존 앱을 변환 할 때'가 아니라 '새로운 Rails 앱을 시작할 때'라고 분명하게 명시합니다. – sevenseacat

+0

나는 이것에 초보적이다. 방금 전에 앱을 시작한 이후로 생각 했었습니다. 이제 그것을 보면서 그것이 있다고 생각합니다. 감사. – user3089021

답변

1
$ rails new 

새 Rails 애플리케이션을 초기화합니다. 기존 Rails 애플리케이션을 이미 가지고 있고 PostgreSQL로 전환하려면 해당 파일을 건너 뛰고 Gemfile을 업데이트하면됩니다.

을 편집 Gemfile이 줄을 제거 :

gem 'sqlite3' 

이 줄 교체 :

gem 'pg' 

는 또한 문서에 설명 된대로 구성 파일을 업데이트해야합니다. Heroku 기사 Getting Started with Rails은 기존 앱을 변환하는 방법에 대해 다룹니다.

또한 PostgreSQL을 로컬로 설치하고 데이터베이스를 만들고 스키마를 다시로드해야합니다. 이러한 작업을 수행하는 데 필요한 명령 목록을 포함하는 여러 기사를 찾을 수 있습니다.

개발 용으로 SQLite를 사용하고 프로덕션 용으로 PostgreSQL을 사용하는 경우 로컬로 PostgreSQL을 설치하는 것을 피할 수 있지만 권장하지는 않습니다.

+0

도와 주셔서 감사합니다. 나는 적절하게 Gemfile을 편집했고, config 파일을 편집했다. 이제 저는 로컬에서 PostgresSQL 부분을 설치합니다. 그러나 여기서는별로 일하지 않습니다. 나는 Gemfile을 Gemfile.lock에 복사하기 위해 번들 설치를 시도했지만, 지금은 실패하고있다./Users/cory/rails_projects/first_app/Gemfile : 의 Gemfile에 대해 ''pg ''정의되지 않은 로컬 변수 또는 메쏘드. – user3089021

+0

gemfile의 구문이 올바른지 확인하십시오. http://bundler.io/v1.3/gemfile.html 앱에서 어떤 일이 벌어지고 있는지 더 잘 이해하려면 Ruby와 Rails를 약간 공부해야 할 수도 있습니다. –

관련 문제