2015-04-25 15 views
5

To jest dziwne. W moim Rails 4 database.yml mam następujące:Jak znaleźć nazwę bazy danych w konsoli szyn

development: 
    adapter: postgresql 
    encoding: unicode 
    database: inspector_development 
    password: 
    pool: 5 

skopiowałem bazę produkcyjną z Heroku i importowanych go za pomocą tego formularza w mojej lokalnej kopii PostgreSQL

curl -o latest.dump `heroku pgbackups:url --account personal` 
pg_restore --verbose --clean --no-acl --no-owner -h localhost -U sam -d inspector_development latest.dump 

Wynik pokazał 88 oczekiwani użytkownicy w PGadmin w bazie inspector_development na osx. Jednak nawet po ponownym uruchomieniu aplikacji rails, tabela User nadal pokazuje tylko jednego użytkownika, a nie 88 widzę w PGadmin.

Mam google, aby dowiedzieć się, co Railsy widzi jako właściwości nazwy bazy danych w celu ustalenia, gdzie znajduje się te nieistniejące rekordy?

Przyjrzyj się uważniej tabeli użytkownika w PGadmin widzę zerowe kolumny. Być może PGadmin się myli? Jestem w stanie określić gdzie Rails db szuka tak, że mogę rozwiązać ten, thx, Sam

+2

Spróbuj '' rails db' z katalogu głównego aplikacji, aby sprawdzić, z którą bazą danych się połączy. Powinien otworzyć konsolę postgres z 'inspector_development = # ', jeśli jest to twoja baza danych dla rozwoju –

+0

Zwykle przywracam ją do innej nazwy bazy danych i wskażę database.yml do tego. Dotychczas nie mieliśmy problemów z tym podejściem. – fylooi

Odpowiedz

9

Działa to w Rails Rails 3 i 4

ActiveRecord::Base.connection.current_database 

ale to działa tylko ze sterownikami, które mają wdrożyłem tę metodę. Na przykład nie będzie działać dla SQLite, ale będzie działał z mysql i postgres.

Powiązane problemy