2016-07-04 76 views
5

Sto provando a utilizzare i binari 4.2.6 per sviluppare un'app. Sto cercando di usare Postgres per il database. Il server si avvia correttamente ma quando provo a caricare una pagina, viene generato l'errore "Nessun pool di connessioni per ActiveRecord :: Base".Nessun pool di connessioni per ActiveRecord :: Base

Cosa potrebbe essere?

EDIT

La gemma pg non funzionava correttamente. Ho dovuto commentare prima di avviare il server e poi decommentarlo dal mio GemFile in seguito. Mi sono reso conto che stavo usando Ruby 2.3 invece di Ruby 2.0 (come previsto). Ho rimosso il rubino 2.3 e installato tutto sotto un ambiente rubino 2.0. Ora funziona correttamente.

Avevo letto da qualche parte che c'erano alcuni problemi con la gemma 'pg' nelle versioni di Rails più recenti, richiedendo alle persone di usare 'gem install pg --pre' invece di installare la gemma. L'ho provato, ma in seguito la mia app richiedeva la gemma "pg" nel mio file GemFile e, beh, il problema sopra riportato si è manifestato di nuovo.

Ecco come il mio file di database.yml finito:

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

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

potrebbe essere un problema in 'database.yml' – uzaif

risposta

1

Controllare la database.yml se tutte le impostazioni sono ok. Se è la prima volta e non ha ancora creato il database ancora utilizzano questo comando per creare il database

rake db:create 

Se il database esiste già provare ripristinare le migrazioni db,

rake db:migrate:reset 

Spero che sarà risolvere il problema. Vai alla console di rails e prova qualcosa per verificare se funziona o no.

1

per PostgreSQL file database.yml dovrebbe apparire qualcosa di simile:

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 

anche assicurarsi che avete la gemma installata: nel Gemfile:

gem 'pg' 

Infine, riavviare il server.

Speranza che aiuta

Edit: Ho quasi dimenticato, assicuratevi di avere il vostro PostgreSQL in esecuzione, controllare this link per il download e l'installazione.

0

Ho riscontrato lo stesso problema quando provo ad accedere al Modello prima di creare il DataBase.

Assicurarsi di eseguire almeno rake db:migrate almeno una volta.

Se si esegue già la migrazione, controllare il database come indicato nelle risposte precedenti.

0

Rails 5

nuova applicazione

Uso PostgreSQL sia per test e sviluppo

Spec corsa, in modo da Rails in grado di connettersi a PostgreSQL

Ma quando ho iniziato la web app, ho avuto "Nessun pool di connessione con ID primario trovato."

Ran 'bin/rails db: migrate: reset' e riavviata l'app. Ha funzionato. Non ho idea del perché.

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

Se si verifica questo errore da un compito rastrello, è probabile che non si esegue il compito :environment prima del vostro compito.

Modifica:

task :task_name do 
end 

a:

task task_name: :environment do 
end 

dovrebbe risolvere il problema.

Problemi correlati