홈>
저는 프로그래밍 초보자입니다. Rails 앱을 만들고 있는데 이제 Heroku로 푸시하고 싶습니다. 데이터베이스를 sqlite 3에서 postresql로 변환하기 위해 Heroku의 지침 을 따랐습니다. 그런 다음 로컬 호스트에서 앱을 마이그레이션하거나 체크 아웃하려고 할 때이 오류가 발생합니다
"PG :: ConnectionBad : 치명적 : 호스트"[local] ", 사용자"keemtaker ", 데이터베이스"tuma_database_development ", SSL off"에 대한 pg_hba.conf 항목 없음
이 같은 문제에 대한 이전 답변을 확인했지만 너무 혼란스럽고 압도적입니다. 이 오류를 해결하기 위해 단계별 가이드를 얻을 수 있다면 좋을 것입니다. PostgreSQL을 문제없이 사용했습니다. 이것이 내 gemfile의 모습입니다
source 'https://rubygems.org'
ruby '2.3.4'
gem 'figaro'
gem 'jbuilder', '~> 2.0'
gem 'puma'
gem 'rails', '5.1.4'
gem 'redis'
gem 'cloudinary'
gem 'carrierwave', '~> 1.2'
gem 'rails_admin', '~> 1.2'
gem 'pg'
gem 'autoprefixer-rails'
gem 'bootstrap-sass'
gem 'jquery-rails'
gem 'font-awesome-sass'
gem 'sass-rails'
gem 'simple_form'
gem 'turbolinks', '~> 5.0.0'
gem 'coffee-rails'
gem 'uglifier'
gem 'webpacker'
gem 'devise'
gem 'ransack'
gem 'trix'
gem "letter_opener", group: :development
group :development do
gem 'web-console', '>= 3.3.0'
end
group :development, :test do
# gem 'binding_of_caller'
# gem 'better_errors'
gem 'pry-byebug'
gem 'pry-rails'
gem 'listen', '~> 3.0.5'
gem 'spring'
gem 'spring-watcher-listen', '~> 2.0.0'
end
database.yml에 나는있다
default: &default
adapter: postgresql
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
timeout: 5000
development:
<<: *default
database: tuma_database_development
test:
<<: *default
database: tuma_database_test
production:
<<: *default
database: tuma_database_production
-
답변 # 1
-
답변 # 2
인프라의 로컬 데이터베이스에 액세스 할 수 없으므로 Heroku의 데이터베이스 URL을 지정해야합니다. 당신의
production
를 교체database.yml
의 섹션 이것으로 :production: url: <%= ENV["DATABASE_URL"] %> pool: 15
따라서 완전한
database.yml
다음과 같이 보일 것입니다 :default: &default adapter: postgresql encoding: unicode pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> timeout: 5000 development: <<: *default database: tuma_database_development test: <<: *default database: tuma_database_test production: <<: *default url: <%= ENV["DATABASE_URL"] %>
출처 : Rails on Heroku 시작하기
관련 자료
- javascript - Node JS API Sequelize PostgreSQL UUID를 기본 키로 "Nan 열이 없습니다"오류를 반환합니다
- 파이썬에서 배열의 항목을 찾기 위해 인덱스 사용 오류
- javascript sinusbot postgresql \ 오류 - pq : 문자 유형에 대한 값이 너무 깁니다 (1)
- java - 오류 코드 - 1062 update를 사용하는 키 고유 데이터 필드에 대한 중복 항목 ' mysql
- 오류 - 배열에는 null이 포함되어서는 안됩니다 postgresql
- python - 오류 - django는 docker를 통해 postgresql에 연결합니다
- 치명적인 오류 (13) - xds modula-2에 프로그램 진입 점이 없습니까?
관련 질문
- ruby on rails - 활성 TCP 세션을 AWS Aurora RDS로로드 밸런싱
- Ruby보기에서 값을 부울로 매핑 할 수 없습니다
- ruby on rails - 누락 된 값으로 해시 배열 채우기
- ruby - 레일에 webpacker를 사용하여 tailwindcss를 설치하는 방법
- javascript - 레일의 활성 스토리지를 사용한 직접 업로드 - inputdatasetdirectuploadurl "정의되지 않음"
- ruby on rails - devise에서 회사 이름과 직원의 데이터를 사용하여 로그인하는 방법은 무엇입니까?
- 루비 271 centos 72에 nokogiri가 설치되지 않음
- Ruby on Rails의 API GET 요청을 통해 JSON 배열 내의 중첩 된 객체/속성에 액세스하고 내 데이터베이스에 저장하려면 어떻게해야합니까?
- postgresql - 루비 - 중첩 조인으로 고객을 찾는 방법
- postgresql - 루비 - 검색을 위해 문자열을 모델 이름으로 변환
이 구성에 의해 앱은 로컬 데이터베이스를 찾게됩니다.
하지만 여기에서 조언하는 구성을 참조하십시오 :
<올>포스트그레스 추가 기능 추가
제작 구성 라인을 위의 링크에 표시된 라인으로 교체
추가 기능을 설치할 때 heroku는 프로젝트에 DATABASE_URL 환경 변수를 추가합니다. Rails는이 변수를 자동으로 찾아서 선택합니다 (여기 참조)