2016-07-04 16 views
5

Próbuję użyć szyn 4.2.6 do opracowania aplikacji. Próbuję użyć PostgreSQL dla bazy danych. Serwer uruchamia się poprawnie, ale kiedy próbuję załadować stronę, generuje błąd "Brak puli połączeń dla ActiveRecord :: Base".Brak puli połączeń dla ActiveRecord :: Base

Co to może być?

EDYTOWANIE

Klejnot pg nie działa poprawnie. Musiałem skomentować to przed uruchomieniem serwera, a następnie odkomentować go z mojego GemFile później. Zdałem sobie sprawę, że używam Ruby 2.3 zamiast Ruby 2.0 (zgodnie z przeznaczeniem). Usunąłem ruby ​​2.3 i skonfigurowałem wszystko w środowisku Ruby 2.0. Teraz działa poprawnie.

Czytałem gdzieś, że były pewne problemy z klejnotem "pg" w nowszych wydaniach Rails, wymagając od ludzi, aby zamiast tego instalowali klejnot za pomocą "gem pg --pre". Próbowałem, ale wtedy moja aplikacja wymagała klejnotu "pg" w moim GemFile i, cóż, problem opisany powyżej pojawił się ponownie.

To jest jak mój plik database.yml skończyło się:

default: &default 
    adapter: postgresql 
    encoding: unicode 
    host: localhost 
    username: ------- 
    password: ------- 
    pool: 5 

    development: 
    <<: *default 
    database: myDbName 
+0

może być problem w 'database.yml' – uzaif

Odpowiedz

1

Sprawdź database.yml czy wszystkie ustawienia są w porządku. Jeśli jego pierwszy raz i nie tworzyć bazę jeszcze użyć tego polecenia, aby utworzyć bazę danych

rake db:create 

Jeśli baza danych już istnieje spróbuj zresetować migracje DB

rake db:migrate:reset 

Mam nadzieję, że będziesz Rozwiąż problem. Przejdź do konsoli szyn i spróbuj czegoś sprawdzić, czy działa, czy nie.

1

dla PostgreSQL plik database.yml powinien wyglądać mniej więcej tak:

default: &default 
    adapter: postgresql 
    encoding: unicode 
    # For details on connection pooling, see rails configuration guide 
    # http://guides.rubyonrails.org/configuring.html#database-pooling 
    pool: 5 

development: 
    <<: *default 
    database: your_db_name 

Również upewnić się, że masz zainstalowaną gem: w Gemfile:

gem 'pg' 

Wreszcie ponownie uruchomić serwer.

nadzieję, że pomoże

Edycja: zapomniałbym, upewnij się, że masz swój bieg PostgresSQL sprawdzić this link do pobrania i instalacji.

0

Napotkano ten sam problem podczas próby uzyskania dostępu do modelu przed utworzeniem bazy danych.

Upewnij się, że uruchomiłeś rake db:migrate co najmniej raz.

Jeśli już uruchomiłeś migrację, sprawdź bazę danych, jak wspomniano w poprzednich odpowiedziach.

0

Szyny 5

Nowa aplikacja

PostgreSQL zarówno dla badań i rozwoju

Specyfikacja run, więc Szyny można podłączyć do PostgreSQL

Ale kiedy zacząłem aplikację internetową, mam "Nie znaleziono puli połączeń z podstawowym identyfikatorem."

Ran 'bin/rails db: migrate: reset' i zrestartował aplikację. Zadziałało. Nie mam pojęcia dlaczego.

database.yml:

development: 
     adapter: postgresql 
     encoding: unicode 
     database: rails5_development 
     pool: 5 
     username: foo 
     password: bar 
     host: localhost 
     port: 5432 

    test: 
     adapter: postgresql 
     encoding: unicode 
     database: rails5_test 
     pool: 5 
     username: foo 
     password: bar 
     host: localhost 
     port: 5432 
9

Jeśli występuje ten błąd z zadaniem natarcia, są szanse, że nie są uruchomione zadanie :environment przed zadaniem.

Zmiana:

task :task_name do 
end 

do:

task task_name: :environment do 
end 

powinno rozwiązać ten problem.

Powiązane problemy