2011-12-16 17 views
6

Bunu kullanarak Heroku benim veritabanını sıfırlamak çalışılıyor: o zamanHeroku sıfırlamayı değil veritabanı

heroku pg:reset SHARED_DATABASE 

ve çalıştırın:

heroku run rake db:create db:migrate db:seed 

Ama aşağıdaki hatayı alıyorum:

Validation failed: Email has already been taken 

Kullanıcıların düşürülmediği heroku rayları konsoluna girerek fark ettim ve bu doğrulama başarısız oldu. Burada neyi özlüyorum?

+0

Bu kullanıcılar tohum verilerinizin bir parçası mı? Yanlışlıkla iki kez tohumlanabilir misiniz? –

+3

Aynı sorunu yaşıyorum. 'heroku pg: SHARED_DATABASE sıfırlama' paylaşılan db'deki verileri temizlemiyor. Heroku'nun belgelerine göre, bu yapılacak en doğru şey. Belge olmayan ya da heorku ile ilgili bir sorun varsa, yakın zamanda bazı değişikliklerin olup olmadığından emin değilim. – jake

cevap

9

bu deneyin: heroku pg:reset SHARED_DATABASE --confirm {the name of your app}

Yedek yazdım uygulamanızın adı {uygulamanızın adı}. Uygulamanız sonra my_great_app denir Örneğin, kullanmak:

heroku pg:reset SHARED_DATABASE --confirm my_great_app

O hiçbir şey veritabanını yeniden oluşturmak için:

:

heroku rake db:migrate 

sizin tohum verilerle veritabanını doldurmak için

heroku rake db:seed 

Bu yürüterek son iki tek eyleme birleştirebilirsiniz:

heroku rake db:setup 
+0

Bunu denediğimde: "Bilinmeyen veritabanı: SHARED_DATABASE. Geçerli seçenekler şunlardır: DATABASE_URL, HEROKU_POSTGRESQL_COBALT_URL" - herhangi bir fikir? – VoA

+1

Şimdi bir süredir Heroku kullanmadım, bu yüzden onların API'larının değiştiğini tahmin ediyorum. Heroku desteğiyle iletişime geçmenizi veya SO hakkında başka bir soru göndermeyi öneririm. –

+0

Teşekkürler - Destek soracağım. "SHARED_DATABASE" yerine – VoA