development

Heroku 데이터베이스를 비우는 방법

big-blog 2020. 3. 1. 15:58
반응형

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:setupRails 4에서는 작동하지 않으며 a에서는 실패합니다 Couldn't create database error.

2014-10-09 편집 : rake db:setupRails 4와 함께 사용할 수 있습니다 Couldn't create database(데이터베이스가 이미 heroku pg:reset명령을 사용하여 생성 되었기 때문에) 오류가 발생 합니다. 그러나 오류 메시지 다음에 데이터베이스 스키마와 시드를로드합니다.

거의 모든 레이크 명령 으로이 작업을 수행 할 수 있지만 예외가 있습니다. 예를 들어 db:reset를 통해 작동하지 않습니다 heroku run rake. pg:reset대신 사용해야 합니다.

자세한 내용은 Heroku의 설명서를 참조하십시오.

레이크 명령 실행

Postgres DB 재설정


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 데이터베이스 재설정


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 웹 사이트를 선호하는 경우 :

  1. https://postgres.heroku.com/databases로 이동
  2. 재설정하려는 데이터베이스를 선택하십시오.
  3. 오른쪽 상단에서 설정 버튼을 클릭하십시오
  4. 아래와 같이 "데이터베이스 재설정"을 클릭하십시오.
  5. "RESET"을 입력하고 확인을 누르십시오

heroku 데이터베이스 재설정


이것이 나를 위해 일한 것입니다.

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_namedatabase_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



반응형