문제

나는 레일과 헤로쿠에 상당히 익숙하지 않지만 루비/레일 애플리케이션을 배치하기위한 플랫폼으로 사용하려고 생각하고 있습니다.

Heroku의 모든 힘을 사용하고 싶기 때문에 MySQL 용 Amazon RDS 대신 Heroku가 관리하는 "임베디드"PostgreSQL을 선호하지만 SQL 클라이언트에서 내 데이터에 액세스 할 가능성이 없으면 확신하지 않습니다. ..

잘 만들어진 앱에서는 DB에 액세스 할 필요가 없지만 일부 상황이 있습니다 (구성 테이블에 행 추가,보기에 매핑되지 않은 데이터, 디버깅 문제, 성능 모니터링, 쿼리 실행을위한 일부 열 업데이트를 참조하십시오. 보고 등) 이것이 좋을 때 ...

이 문제를 어떻게 해결합니까? Heroku가 구동하는 실제 앱에서 경험하는 것은 무엇입니까?

감사!

도움이 되었습니까?

해결책

나는 약 1 년 동안 그것을 사용하고 있습니다. 나는 그것이 제공하는 워크 플로를 좋아하지만 데이터에 액세스 할 수없는 것은 진정한 귀찮은 일입니다. 데이터베이스 작업 옵션은 다음과 같습니다.

TAPS : 이론적으로 데이터베이스를 만들지 만 로컬로 원하고 탭을 사용하여 스키마와 데이터를 Heroku에 복사합니다. 실제로, 대부분은 놀랍도록 위대합니다. 그러나 탭이 내 열 중 일부를 열악하게 번역 한 후 현재 정리를 다루고 있습니다.

Heroku Console : 모든 일반적인 ActiveRecord 물건에 대해 완전히 괜찮지 만 데이터베이스에 가장 가까운 것은 ActiveRecord :: base.connection.Execute "some sql"입니다. 당신이 알터 테이블 명령을하는 것에 대해 궁금해 할 때 당신은 당신이 곤경에 처해 있다는 것을 알게 될 것입니다.

또한 앱을 백업하는 방법으로 "번들"을 제공합니다. 이를 통해 모든 코드와 데이터베이스의 SQL 덤프를 다운로드 할 수 있습니다. 어려움은 직접 데이터베이스 액세스가 없기 때문에 동일한 SQL 덤프를 데이터베이스에 다시로드 할 수있는 방법이 없으므로 Dataloss에서 복구 할 수 있습니다. 이는 덤프 파일을 시작할 수있는 지점입니다. 번들을 사용할 수있는 것은 현재 앱을 복원하지 않고 새 응용 프로그램 (Heroku Bundles : Animate)을 만드는 것입니다.

나는이 모든 것에 대해 잘못하고 싶습니다. 이것은 내가 아는 최고의 생각 서비스에서 호기심 많은 거친 장소처럼 보입니다. 데이터베이스 액세스는 일반적으로 자신이하는 일의 대부분이 너무 쉬워 질 때 포기하는 것이별로 많지 않습니다.

나에게 데이터베이스 액세스는 소화기와 같습니다. 일반적으로 큰 문제는 아니지만 중요 할 때는 매우 중요합니다.

다른 팁

나는 사용한다 admin_data 무슨 일이 일어나고 있는지에 대한 통찰력을주기 위해. Heroku 및 기타 호스팅 제공 업체에서 성공적으로 사용했습니다.

먼저 그렇게 말하면서 시작하겠습니다 헤로쿠는 굉장합니다. 응용 프로그램을 배포하고 WebSolr와 같은 다른 서비스와 통합하는 훌륭한 경험이있었습니다.

그 말로, 당신의 질문 :

데이터를 얻습니다

데이터를 얻을 수 있으려면 사용할 수 있습니다. 원격 데이터베이스를 로컬로 끌어 올리려면 디버깅에 유용 할 수 있습니다.

성능 모니터링

새로운 RPM을 사용하십시오. 이것은 Heroku의 일부로 제공되며 추가 기능 메뉴에서 활성화 할 수 있습니다.

추가 사망 데이터베이스 쿼리

임의의 SQL을 실행하고 결과를 볼 수있는 컨트롤러를 작성할 수는 있지만 추천하는 것은 아닙니다. 제안대로 admin_data 데이터를 관리하기위한 좋은 솔루션이지만 더 복잡한 일을하려면 코드를 직접 작성해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top