2017-05-18 3 views
0

보석 파일을 마이그레이션 :레이크가 중단되었습니다! 보석 :: LoadError : 레일 DB에 데이터베이스 어댑터 'PostgreSQL의'정의는 :

source 'https://rubygems.org' 

gem 'rails',  '5.0.1' 
gem 'bcrypt',  '3.1.11' 
gem 'puma',   '3.4.0' 
gem 'sass-rails', '5.0.6' 
gem 'uglifier',  '3.0.0' 
gem 'coffee-rails', '4.2.1' 
gem 'jquery-rails', '4.1.1' 
gem 'turbolinks', '5.0.1' 
gem 'jbuilder',  '2.4.1' 
gem 'bootstrap-sass', '3.3.6' 
gem 'unicorn' 

group :development, :test do 
    gem 'sqlite3', '1.3.12' 
    gem 'byebug', '9.0.0', platform: :mri 
end 

group :development do 
    gem 'web-console',   '3.1.1' 
    gem 'listen',    '3.0.8' 
    gem 'spring',    '1.7.2' 
    gem 'spring-watcher-listen', '2.0.0' 
end 

group :test do 
    gem 'rails-controller-testing', '0.1.1' 
    gem 'minitest-reporters',  '1.1.9' 
    gem 'guard',     '2.13.0' 
    gem 'guard-minitest',   '2.4.4' 
end 

group :production do 
    gem 'pg', '0.18.4' 
end 

# Windows does not include zoneinfo files, so bundle the tzinfo-data gem 
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby] 

database.yml을 :

default: &default 
    adapter: sqlite3 
    pool: 5 
    timeout: 5000 

development: 
    <<: *default 
    database: db/development.sqlite3 

# Warning: The database defined as "test" will be erased and 
# re-generated from your development database when you run "rake". 
# Do not set this db to the same as development or production. 
test: 
    <<: *default 
    database: db/test.sqlite3 

production: 
    <<: *default 
    database: db/production.sqlite3 

마이그레이션이 갈퀴 DB를 실행하는 경우 실패 마이그레이션 할 수 있습니다. RAILS_ENV = development를 사용하여 환경 변수를 개발로 설정하려고 시도했지만 여전히 실패합니다. 나는 heroku가 postgres를 제공하기 때문에 프로덕션에서 postgres를 사용하고있다. 보석 파일과 database.yml 둘 다 주어졌다.

편집 : 다른 컴퓨터에 복제본을 복제 해 보았는데 문제가 없었습니다.

+0

내가 최근에 양조장없이 Postgres를 설치했기 때문에 모두가 문제는 내 로컬 컴퓨터에서 발생했습니다. rhat을 제거하고 다시 시작하면 마이그레이션이 성공적으로 완료되었습니다. – Aditya

답변

0

당신이 할 때 :

default: &default 
    adapter: sqlite3 
    pool: 5 
    timeout: 5000 

그리고이 :

production: 
    <<: *default 
    database: db/production.sqlite3 

그런 다음, 생산 어댑터가 sqlite3입니다. 기본값으로 설정 한 다음 프로덕션 환경에서 설정하지 않았는지 확인하십시오. 또한

,이 비트 : 당신 심장 통증을 줄 것 같은

production: 
    ... 
    database: db/production.sqlite3 << right here 

이 보인다.

권장하지 않음 개발에서 sqlite를 사용하고 프로덕션 환경에서 postgresql을 사용하는 것은 당연합니다. 그것은 바로 Heroku 웹 사이트에 있습니다. 왜냐하면, 음, 당신은 지금 당장 가지고있는 악몽과 같은 것을 가지고 있기 때문입니다. (Heroku 사이트와 Innerwebs에 대한 더 많은 기술적 인 설명이 있습니다. 영혼을 위해서 좋은 것입니다.)

그런 종류가 아닌 한.

* EDIT *

미안 해요, 난 너무 빨리 움직이고 있었다. rake db:migrate을 실행할 때 로컬에서 문제가 발생한 것 같습니다.

어쨌든 개발 및 제작에 다른 DB를 사용하는 것은 좋은 생각이 아닙니다.

+0

예 rake db : 문제가있는 경우 – Aditya

0

개발 용으로 데이터베이스 구성을 명시 적으로 설정해보십시오. database.yml이 올바르게 정렬되지 않은 것 같습니다.

production: 
    adapter: postgresql 
    encoding: utf8 
    database: your_db 
    host: 127.0.0.1 
    pool: 5 
    username: your_db_username 
    password: your_db_password 
+0

은 개발을 위해 sqlite 데이터베이스를 사용합니다. – Aditya

+0

@Aditya 내 ans로 만족하면 올바른 정보를 입력하십시오. –