2016-07-04 17 views
5

Ich versuche mit Rails 4.2.6 eine App zu entwickeln. Ich versuche postgres für die Datenbank zu verwenden. Der Server startet ordnungsgemäß, aber wenn ich versuche, eine Seite zu laden, wird der Fehler "Kein Verbindungspool für ActiveRecord :: Base" ausgegeben.Kein Verbindungspool für ActiveRecord :: Base

Was könnte es sein?

EDIT

Das pg Juwel nicht richtig funktioniert. Ich musste es kommentieren, bevor ich den Server startete, und dann im Anschluss von meiner GemFile auskommentieren. Ich erkannte, dass ich Ruby 2.3 anstelle von Ruby 2.0 verwendete (wie vorgesehen). Ich habe Ruby 2.3 entfernt und alles unter Ruby 2.0 Umgebung eingerichtet. Es funktioniert jetzt richtig.

Ich hatte irgendwo gelesen, dass es in neueren Rails-Releases Probleme mit dem 'pg'-Juwel gab und die Leute stattdessen' gem install pg --pre 'für die Installation des Edelsteins benötigten. Ich habe das ausprobiert, aber dann benötigte meine App das 'pg'-Juwel in meiner GemFile und, nun, das oben erwähnte Problem tauchte wieder auf. Diese

ist, wie meine database.yml Datei gelandet:

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

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

möglicherweise Problem in 'database.yml' – uzaif

Antwort

1

Überprüfen Sie die database.yml, wenn alle Einstellungen in Ordnung sind. Wenn es das erste Mal, und Sie nicht die Datenbank erstellen noch diesen Befehl verwenden, um die Datenbank

rake db:create 

zu erstellen, wenn die Datenbank bereits versuchen, die db-Migrationen zurückgesetzt existiert,

rake db:migrate:reset 

Hoffe, es werde das Problem lösen. Geh zur Schienenkonsole und versuche etwas, um zu überprüfen, ob es funktioniert oder nicht.

1

Für PostgreSQL Ihre database.yml Datei sollte so ähnlich aussehen:

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 

auch sicher, dass Sie den Edelstein installiert sein: in Ihre Gemfile:

gem 'pg' 

schließlich den Server neu starten.

Hoffnung, die

bearbeiten hilft: Fast hätte ich vergessen, stellen Sie sicher, dass Sie Ihre PostgresSQL läuft, überprüfen this link zum Download und Setup.

0

Ich habe das gleiche Problem, wenn ich versuche, auf das Modell zugreifen, bevor Sie die DataBase erstellen.

Stellen Sie sicher, dass Sie rake db:migrate mindestens einmal ausführen.

Wenn Sie bereits eine Migration ausführen, überprüfen Sie die Datenbank wie in den vorherigen Antworten erwähnt.

0

Rails 5

Neue App

Mit Postgresql sowohl für Test- und Entwicklungs

Specs Lauf kann so Rails

zu Postgresql verbindet Aber wenn ich den Web-App gestartet, ich habe "Kein Verbindungspool mit primärer ID gefunden."

Ran 'bin/rails db: migrate: reset' und die App neu gestartet. Es funktionierte. Keine Ahnung warum.

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

Wenn Sie diesen Fehler aus einer Harke Aufgabe auftreten, die Chancen sind Sie nicht die :environment Aufgabe vor Ihrer Aufgabe ausgeführt wird.

ändern:

task :task_name do 
end 

zu:

task task_name: :environment do 
end 

das Problem beheben sollten.

Verwandte Themen