Heroku 데이터베이스를 비우는 방법
Heroku에서 Ruby on Rails 3 webapp을 만들고 있습니다. 데이터베이스를 비우려면 어떻게합니까?
다음을 사용하는 경우 데이터베이스를 삭제하려면 다음을 수행하십시오 SHARED_DATABASE_URL
.
$ heroku pg:reset DATABASE_URL
이제 아무것도 포함하지 않은 데이터베이스 를 다시 작성 하십시오.
$ heroku run rake db:migrate
시드 데이터로 데이터베이스 를 채우 려면 :
$ heroku run rake db:seed
---또는---
다음 을 실행 하여 마지막 두 가지 ( migrate & seed )를 하나의 조치로 결합 할 수 있습니다 .
$ heroku run rake db:setup
2014-04-18 편집 : rake db:setup
Rails 4에서는 작동하지 않으며 a에서는 실패합니다 Couldn't create database error
.
2014-10-09 편집 : rake db:setup
Rails 4와 함께 사용할 수 있습니다 Couldn't create database
(데이터베이스가 이미 heroku pg:reset
명령을 사용하여 생성 되었기 때문에) 오류가 발생 합니다. 그러나 오류 메시지 다음에 데이터베이스 스키마와 시드를로드합니다.
거의 모든 레이크 명령 으로이 작업을 수행 할 수 있지만 예외가 있습니다. 예를 들어 db:reset
를 통해 작동하지 않습니다 heroku run rake
. pg:reset
대신 사용해야 합니다.
자세한 내용은 Heroku의 설명서를 참조하십시오.
Heroku는 --db
이제 옵션 을 더 이상 사용하지 않으므로 이제 다음을 사용하십시오.
heroku pg:reset DATABASE_URL --confirm {the name of your app}
리터럴 텍스트를 사용 SHARED_DATABASE
하지만 {the name of your app}
앱 이름 대신 대체 텍스트를 사용했기 때문에 약간 혼란 스럽습니다 . 예를 들어 앱 이름이 my_great_app 인 경우 다음을 사용합니다.
heroku pg:reset DATABASE_URL --confirm my_great_app
데이터베이스를 삭제하려면 다음을 수행하십시오.
$ heroku pg:reset SHARED_DATABASE --confirm NAME_OF_THE_APP
데이터베이스를 다시 작성하려면 다음을 수행하십시오.
$ heroku run rake db:migrate
데이터베이스를 시드하려면 다음을 수행하십시오.
$ heroku run rake db:seed
**마지막 단계
$ heroku restart
현재, 즉 이를 수행하는 2017 방법은 다음과 같습니다.
heroku pg:reset DATABASE
https://devcenter.heroku.com/articles/heroku-postgresql#pg-reset
이제 명령은
heroku pg:reset DATABASE_URL --confirm your_app_name
이 방법으로 재설정하려는 앱의 db를 지정할 수 있습니다. 그럼 당신은 실행할 수 있습니다
heroku run rake db:migrate
heroku run rake db:seed
또는 위의 두 명령 모두에 직접
heroku run rake db:setup
이제 앱을 다시 시작하는 마지막 단계
heroku restart
나는 Heroku 지원에 연락하여 최신 보석의 버그임을 확인했습니다 (Heroku-2.26.2를 사용하고 있습니다)
찰리-우리는 'heroku'보석과 관련된이 문제를 알고 있으며 그것을 해결하기 위해 노력하고 있습니다.
다음을 따라야 할 경우 문제가 있습니다-https: //github.com/heroku/heroku/issues/356
이전 버전의 'heroku'gem으로 다운 그레이드하면 도움이됩니다. 나는 오늘 대부분의 문제없이 v2.25.0을 사용하고 있습니다.
다음 명령으로 다운 그레이드하십시오.
gem uninstall heroku
gem install heroku --version 2.25.0
이미 여러 개의 gem이 설치되어 있으면 다음과 같은 메시지가 표시 될 수 있습니다.
Select gem to uninstall: 1. heroku-2.25.0 2. heroku-2.26.2 3. All versions
# 2를 제거하고 명령을 다시 실행하십시오. 즐거움!
완전한 답은 (여러 DB와 사용자를위한)입니다 :
heroku pg : info- 출력
=== HEROKU_POSTGRESQL_RED <- 사용 가능한 DB
계획 기본
상태입니다
heroku pg : 재설정 HEROKU_POSTGRESQL_RED --app_name 확인
자세한 내용은 https://devcenter.heroku.com/articles/heroku-postgresql을 참조하십시오.
이제 헤 로쿠와는 다릅니다. 시도 : heroku pg : 재설정 데이터베이스-확인
오늘 명령
heroku pg:reset --db SHARED_DATABASE_URL
공유 계획에서 일하지 않고, 나는
heroku pg:reset SHARED_DATABASE
heroku pg:psql
다음 명령을 사용하여 DB에 로그인 하고 다음 명령을 입력하십시오.
drop schema public cascade;
create schema public;
이제 웹 인터페이스를 통해 데이터베이스를 재설정 할 수도 있습니다.
dashboard.heroku.com으로 이동 하여 앱을 선택한 다음 추가 기능 범주에서 데이터베이스를 찾아서 클릭하면 데이터베이스를 재설정 할 수 있습니다.
heroku 버전을 확인하십시오. 방금 다음과 같이 내 것을 2.29.0으로 업데이트했습니다.
heroku --version
#=> heroku-gem/2.29.0 (x86_64-linux) ruby/1.9.3
이제 다음을 실행할 수 있습니다.
heroku pg:reset DATABASE --confirm YOUR_APP_NAME
그런 다음 데이터베이스를 작성하고 단일 명령으로 시드하십시오.
heroku run rake db:setup
이제 앱을 다시 시작하고 시도하십시오.
heroku restart
heroku open
Heroku 웹 사이트를 선호하는 경우 :
- https://postgres.heroku.com/databases로 이동
- 재설정하려는 데이터베이스를 선택하십시오.
- 오른쪽 상단에서 설정 버튼을 클릭하십시오
- 아래와 같이 "데이터베이스 재설정"을 클릭하십시오.
- "RESET"을 입력하고 확인을 누르십시오
이것이 나를 위해 일한 것입니다.
1. 명확한 DB.
heroku pg:reset --app YOUR_APP
실행 한 후에는 앱 이름을 다시 입력하여 확인해야합니다.
2. db를 마이그레이션하여 다시 만듭니다.
heroku run rake db:migrate --app YOUR_APP
3. 시드 데이터를 db에 추가하십시오.
heroku run rake db:seed --app YOUR_APP
PostgreSQL 데이터베이스를 재설정하고 다시 설정한다고 가정하면 다음을 사용하십시오.
heroku apps
Heroku에 응용 프로그램을 나열합니다. 현재 응용 프로그램의 이름을 찾으십시오 ( application_name
). 그런 다음 실행
heroku config | grep POSTGRESQL
데이터베이스의 이름을 얻습니다. 예를 들면
HEROKU_POSTGRESQL_WHITE_URL
마지막으로 주어진 application_name
및 database_url
을 실행해야합니다.
heroku pg:reset `database_url` --confirm `application_name`
heroku run rake db:migrate
heroku restart
콘솔에서 로그인하면 최신 heroku 툴 벨트에서 작업을 수행합니다.
heroku pg : reset-데이터베이스 이름 확인
나는 항상 하나의 라이너 'heroku pg : reset DATABASE'로이 작업을 수행합니다.
당신에게 가장 적합한 해결책은
heroku pg:reset -r heroku --confirm your_heroku_app_name
--_ heroku_app_name 확인
필수는 아니지만 터미널은 항상 그 명령을 수행하도록 요청합니다.
그 명령 후에 당신은 구조와 물건없이 순수한 db를 갖게 될 것입니다.
heroku run rake db:schema:load -r heroku
또는
heroku run rake db:migrate -r heroku
참고 URL : https://stackoverflow.com/questions/4820549/how-to-empty-a-heroku-database
'development' 카테고리의 다른 글
'var'을 사용하여 변수를 선택적으로 선언합니까? (0) | 2020.03.01 |
---|---|
스프링 컨트롤러에서 파일 다운로드 (0) | 2020.03.01 |
대화식 편집기없이 Bash를 사용하여 자동으로 크론 작업을 작성하는 방법은 무엇입니까? (0) | 2020.03.01 |
PHP : 임의의 고유 한 영숫자 문자열을 생성하는 방법은 무엇입니까? (0) | 2020.03.01 |
신속하게 x 값을 소수점 이하 자릿수로 반올림 (0) | 2020.03.01 |