heroku에서 .sql 펼쳐지는 실행하는 방법은 무엇입니까?
heroku의 postgres 데이터베이스에서 실행하려는 명령이 포함 된 .sql 파일이 있습니다. 그러나 나는 그것을하는 방법을 모른다 :-
postgres 콘솔에 액세스 할 수있는 경우 다음을 입력합니다.
psql -h localhost -d database -U username -f datafile.sql
하지만 heroku는이 명령을 지원하지 않을 것입니다. 나는 시도했다
heroku pg:psql
하지만 파일을 입력 할 수 없습니다.
다른 옵션이 있습니까?
데이터베이스를 시드하는 것과 같은 경우 Richard Brown의 대답을 권장합니다. Rails Seed를 사용하거나 레이크 작업과 같은 펼치기를 사용하는 것이 더 낫습니다.
즉, SQL (원시 또는 파일)을 파이프 할 수있는 것이 가장 간단한 조회 또는 일상적인 쿼리와 같은 멱등성에 유용한 기능입니다. 이 경우 다음 중 하나로 로컬 SQL을 사용할 수 있습니다.
$ cat file.sql | heroku pg:psql --app app_name
$ echo "select * from table;" | heroku pg:psql --app app_name
$ heroku pg:psql --app app_name < file.sql
왜 psql을 사용하지 않습니까?
출력을 보면 heroku config
응용 프로그램에서 사용하는 데이터베이스 URL (DATABASE_URL 키)이 표시됩니다. 수령 가져 오기 와 올바른 비트로 분리하면 psql
모두 함께 사용하는 것이 좋습니다.
예 :
DATABASE_URL: postgres://username:password@host:port/dbname
된다
psql -h host -p port -d dbname -U username -f datafile.sql
나는 테스트가 가능하고 반복 가능한 업데이트를 좋아합니다. 데이터베이스를 업데이트해야 할 때 업데이트를 수행하기 위해 레이크 작업을 작성합니다. 이렇게하면 설치하기 전에 먼저 테스트에 맞는지 확인하기 전에 먼저 테스트를 사용하세요.
Rails 데이터베이스에 새로운 데이터를로드하는 규칙은 작업이 준비된 db:seed
후 수 있는 파일 을 만드는 db:migrate
것입니다.
참조 : http://justinfrench.com/notebook/a-custom-rake-task-to-reset-and-seed-your-database 및 : http://railscasts.com/episodes/179-seed-data
참고 URL : https://stackoverflow.com/questions/15237366/how-to-execute-a-sql-script-on-heroku
'ProgramingTip' 카테고리의 다른 글
Interface Builder에서 Yosemite 스타일의 통합 도구 모음을 어떻게 만들 수 있습니까? (0) | 2020.12.08 |
---|---|
str과 int 응집을 어떻게합니까? (0) | 2020.12.08 |
오류 : javax.servlet 패키지가 없습니다. (0) | 2020.12.07 |
VS Code- 선택한 작업 디렉터리 아래에 새 파일 추가 (0) | 2020.12.07 |
정식에서 할당 오류 전에 참조 됨 (0) | 2020.12.07 |