2013-01-11 13 views
13

Ho appena iniziato a lavorare su una base di codici Rails esistente e sto provando a eseguire i test nella base di codici. Tuttavia, quando ho eseguito bundle exec rspec spec/ ottengo il seguente errore su ogni prova:Redis :: CommandError: indice DB ERR non valido durante l'esecuzione di rspec

Failure/Error: Unable to find matching line from backtrace 
Redis::CommandError: 
    ERR invalid DB index 
# ./lib/redised.rb:35:in `flushdb_all' 
# ./lib/redised.rb:35:in `each_value' 
# ./lib/redised.rb:35:in `flushdb_all' 

Sono abbastanza nuovo per rotaie - ho finito solo 8 dei 11 capitoli di Michael Hartl rotaie Tutorial - così ho Non ho familiarità con Redis. La versione di My Redis è redis-2.4.17.

risposta

21

Il problema era che avevo bisogno di aumentare il numero di database. Per fare ciò, sono andato a /usr/local/etc e modificato redis.conf. Ho impostato il numero del database su 128: databases 128.

+0

Attualmente sto incontrando questa edizione. Mi sto solo chiedendo quale fosse il tuo ragionamento per 128 database. – BenMorganIO

+1

@BenMorganIO E 'solo un numero arbitrario sopra il numero della mia azienda. È passato più di un anno da quando ho risolto questo, quindi non ne sono sicuro; un collega potrebbe aver raccomandato quel numero a me. – MaxGabriel

+0

Per alcuni questo potrebbe essere un cerotto piuttosto che risolvere il problema del perché l'indice sta crescendo inaspettatamente. – aceofspades

1

Anche se è troppo tardi ma potrebbe essere utile per gli altri.

Se si utilizza il nome del database come 'test' si prega di sostituirlo indice di qualcosa di simile a '0'/0. Se non si è sicuri di indice di provare a 0 come index.best di fortuna

Problemi correlati