Yanıtlar:
Veritabanını bırakmak için kullanıyorsanız SHARED_DATABASE_URL
:
$ heroku pg:reset DATABASE_URL
Şimdi veritabanını hiçbir şey olmadan yeniden oluşturmak için:
$ heroku run rake db:migrate
To doldurmak için tohum verileri ile veritabanı:
$ heroku run rake db:seed
---VEYA---
Bunu gerçekleştirerek son ikisini ( taşı ve tohumla ) tek bir eylemde birleştirebilirsiniz :
$ heroku run rake db:setup
Edit 2014-04-18: rake db:setup
Rails 4 ile çalışmıyor, bir ile başarısız Couldn't create database error
.
Edit 2014-10-09: rake db:setup
Rails 4 ile kullanabilirsiniz . Bu size bir Couldn't create database
hata veriyor (çünkü veritabanı zaten heroku pg:reset
komut kullanılarak yaratılmıştı ). Ancak hata mesajından sonra veritabanı şemanızı ve tohumlarınızı da yükler.
Bunu hemen hemen tüm komisyon komutlarıyla yapabilirsiniz, ancak istisnalar vardır. Örneğin, üzerinden db:reset
çalışmaz heroku run rake
. Bunun pg:reset
yerine kullanmak zorundasınız .
Daha fazla bilgi Heroku'nun belgelerinde bulunabilir:
SHARED_DATABASE_URL is deprecated, please use SHARED_DATABASE
heroku pg:reset DATABASE
heroku pg:reset DATABASE --confirm appname
Heroku --db
şimdi seçeneği kullanımdan kaldırmıştır , bu yüzden şimdi kullanın:
heroku pg:reset DATABASE_URL --confirm {the name of your app}
Kelimenin tam metnini kullandığınız için biraz kafa karıştırıcıdır, SHARED_DATABASE
ancak yazdığım yerde {the name of your app}
uygulamanızın adını değiştirir. Örneğin, uygulamanız my_great_app olarak adlandırılırsa şunu kullanırsınız:
heroku pg:reset DATABASE_URL --confirm my_great_app
SHARED_DATABASE
Veritabanını bırakmak için:
$ heroku pg:reset SHARED_DATABASE --confirm NAME_OF_THE_APP
Veritabanını yeniden oluşturmak için:
$ heroku run rake db:migrate
Veritabanını tohumlamak için:
$ heroku run rake db:seed
**Son adım
$ heroku restart
heroku run rake db:migrate
artık veritabanını yeniden oluşturmuyor
Akım, yani. Bunu yapmanın 2017 yolu:
heroku pg:reset DATABASE
https://devcenter.heroku.com/articles/heroku-postgresql#pg-reset
heroku run rake db:migrate db:seed
Şimdi komut
heroku pg:reset DATABASE_URL --confirm your_app_name
bu şekilde hangi uygulamanın db'sini sıfırlamak istediğinizi belirleyebilirsiniz. Sonra koşabilirsin
heroku run rake db:migrate
heroku run rake db:seed
veya yukarıdaki her iki komut için doğrudan
heroku run rake db:setup
Ve şimdi uygulamanızı yeniden başlatmak için son adım
heroku restart
Heroku desteğiyle iletişime geçtim ve bunun en yeni mücevherle ilgili bir hata olduğunu doğruladılar (heroku-2.26.2 kullanıyorum)
Charlie - 'heroku' gemiyle bu sorunun farkındayız ve düzeltmek için çalışıyoruz.
Takip etmeyi önemsiyorsanız sorun şu şekildedir - https://github.com/heroku/heroku/issues/356
'Heroku' geminin önceki bir sürümüne geçmek yardımcı olacaktır. V2.25.0'ı günümüzün çoğunda sorunsuz olarak kullanıyorum.
Aşağıdaki komutlarla eski sürüme geçin:
gem uninstall heroku
gem install heroku --version 2.25.0
Zaten kurulu birden fazla mücevher varsa, size aşağıdakiler sunulabilir:
Select gem to uninstall: 1. heroku-2.25.0 2. heroku-2.26.2 3. All versions
Sadece # 2'yi kaldırın ve komutu yeniden çalıştırın. Sevinç!
Tam cevap (çoklu db sahip kullanıcılar için) 'dir:
heroku pg: bilgi - çıktı çıktı
=== HEROKU_POSTGRESQL_RED <- Bu DB olan
Planı Temel
Durum kullanılabilir
heroku pg: sıfırlama HEROKU_POSTGRESQL_RED - app_name onaylayın
Daha fazla bilgi şu adreste bulunur: https://devcenter.heroku.com/articles/heroku-postgresql
Artık veritabanını web arayüzleri üzerinden sıfırlamak da mümkün.
Dashboard.heroku.com adresine gidin ve uygulamanızı seçin, ardından veritabanını eklentiler kategorisinde bulacaksınız, üzerine tıklayın ve ardından veritabanını sıfırlayabilirsiniz.
Heroku sürümünüzü kontrol edin. Ben sadece benim gibi 2.29.0 güncelledim:
heroku --version
#=> heroku-gem/2.29.0 (x86_64-linux) ruby/1.9.3
Şimdi çalıştırabilirsiniz:
heroku pg:reset DATABASE --confirm YOUR_APP_NAME
Ardından veritabanınızı oluşturun ve tek bir komutla tohumlayın:
heroku run rake db:setup
Şimdi yeniden başlatın ve uygulamanızı deneyin:
heroku restart
heroku open
Bu benim için işe yaradı.
1. açık db.
heroku pg:reset --app YOUR_APP
Bunu çalıştırdıktan sonra onaylamak için uygulama adınızı tekrar yazmanız gerekir.
2. db'yi yeniden oluşturun.
heroku run rake db:migrate --app YOUR_APP
3. db'ye tohum verileri ekleyin.
heroku run rake db:seed --app YOUR_APP
Heroku Web sitesini kullanmayı tercih ederseniz:
PostgreSQL veritabanınızı sıfırlamak ve yedeklemek istediğinizi varsayarsak, şunu kullanın:
heroku apps
Heroku'daki uygulamalarınızı listelemek için. Geçerli uygulamanızın adını ( application_name
) bulun . O zaman koş
heroku config | grep POSTGRESQL
veritabanlarınızın adını almak için. Bir örnek olabilir
HEROKU_POSTGRESQL_WHITE_URL
Son olarak, verilen application_name
ve database_url
koşmalısın
heroku pg:reset `database_url` --confirm `application_name`
heroku run rake db:migrate
heroku restart
Konsoldan giriş yaptıysanız, bu işi en son heroku araç kemerinde yapacak,
heroku pg: sıfırla - veritabanı adını onayla
Bunu her zaman tek satırlık 'heroku pg: reset DATABASE' ile yapıyorum.
Sorununuz için en iyi çözüm
heroku pg:reset -r heroku --confirm your_heroku_app_name
--kahraman_uygulaman_adınızı doğrulayın
gerekli değildir, ancak terminal her zaman benden bu komutu yapmamı ister.
Bu komuttan sonra, yapı ve malzeme olmadan saf db'ye sahip olacaksınız.
heroku run rake db:schema:load -r heroku
veya
heroku run rake db:migrate -r heroku