20

Postgres (9.2.4) 'ı yeniden yükledim ve Rails 3.2.11 ile tekrar ayarlamayı güçleştiriyorum. Ben yaptım:Rails üzerinde Postgres FATAL: veritabanı mevcut değil

brew install postgresql 
initdb /usr/local/var/postgres 
pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start 

yüzden şimdi

$ psql --version 
psql (PostgreSQL) 9.2.4 
$ which psql 
/usr/local/bin/psql 

Benim database.yml dosyası gibi

development: 
    adapter: postgresql 
    encoding: unicode 
    database: myapp_development 
    pool: 5 
    username: Tyler 
    password: 
    host: localhost 
    port: 5432 

görünüyor var Ve sonra rake db:migraterake db:create:all çalıştırdığınızda hata iletisi:

PG::Error: ERROR: relation "posts" does not exist 
LINE 5:    WHERE a.attrelid = '"posts"'::regclass 
            ^
:   SELECT a.attname, format_type(a.atttypid, a.atttypmod), 
       pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod 
      FROM pg_attribute a LEFT JOIN pg_attrdef d 
      ON a.attrelid = d.adrelid AND a.attnum = d.adnum 
     WHERE a.attrelid = '"posts"'::regclass 
      AND a.attnum > 0 AND NOT a.attisdropped 
     ORDER BY a.attnum 

Geçmiş db, geçişler vb. Ile ilgili her şeyi temizlemeyi denedim.

Şemalar, hub.gr ve göç dosyalarındaki tüm dosyaları ve aklınıza gelebilecek başka şeyleri sildim. Ancak "gönderiler" ibaresiyle ilgili hata bana eski veritabanımın ("mesajlar" adı verilen bir tablo vardı) eski bir referans olduğunu düşünmemi sağladı.

Veritabanımı tamamen yeniden yüklemeyi/yenilemeyi denerken herkes bu hatayı nasıl gidereceğini biliyor mu?

+0

Taşıma dosyalarınızın tutarlı olmadığı anlaşılıyor. Referans vermeden önce 'posts' oluşturduğunuzdan emin misiniz? – iltempo

+0

Yalnızca ilk geçiş dosyasını taşıma klasörüne koymaya çalıştım (bu, herhangi bir yere gönderi göndermiyor) ve yine de sorunla karşılaşıyorum. Ayrıca TÜM taşıma dosyalarını kaldırmayı denedim ve hala mesajı alıyorum ... – tyler

+0

Açıklama: Rake db: bırak: all' help? – iltempo

cevap

53

Benzer bir sorunla karşılaşıyordum. Farklı web sitelerini kontrol ettim ve önerilerini denedim ama çalışmadım. Sonra ne önerdiğini denedim. rake db:create:all ve rake db:migrate benim için çalıştı. Teşekkür ederim!

+0

çekicilik gibi çalıştı!Onunla sinirliydi: D teşekkürler dostum, – userRandom

+2

bu bundle exec ekleyene kadar benim için çalışmıyordu. exec run komisyonu db: create: all'. Teşekkürler! – acrogenesis

3

İlk önce veritabanlarını oluşturmanız gerekir. Çalıştır tır db: oluştur: all

Ayrıca yml dosyasının postgres için doğru şekilde ayarlandığından emin olun.

2

db:create:all ve db:migrate öncelikle benim için çalışmadı. ben myapp/config/database.yml dosyada developmentpg için development.pg benim veritabanı adını değiştirdi:

database: db/developmentpg

ve sonra rake db:create:all ve rake db:migrate, bu benim için çalıştı. oluşturmak: Ben tırmık db çalışan çalıştı

0

teşekkür ederiz işe yaramadı hangi hepsi. Ancak, bundle run run db: create: all benim için çalıştı.

Bu yardımcı olur umarız!

İlgili konular