2014-11-25 7 views
6

Ich spiele mit Rails 4. Ich habe gerade sehr einfachen Test für mein Modell erstellt, aber wenn ich versuche, "Rake-Test: Modelle" auszuführen, bekomme ich folgende Fehler:Errno :: EACCES: Berechtigung verweigert @ unlink_internal beim Ausführen von Rake-Test: Modelle

C:\rails\project>rake test:models 
DL is deprecated, please use Fiddle 
rake aborted! 
Errno::EACCES: Permission denied @ unlink_internal - /tmp/db/new.sqlite3 
C:/rails/project/test/test_helper.rb:3:in `<top (required)>' 
C:/rails/project/test/models/admin_test.rb:1:in `<top (required)>' 
Tasks: TOP => test:models 
(See full trace by running task with --trace) 

sieht Meine Test-Datenbank-Konfiguration wie folgt:

test: 
    adapter: sqlite3 
    database: /tmp/db/new.sqlite3 
    pool: 5 
    timeout: 5000 

"/ tmp/db" Verzeichnis, in dem ich vollen Zugriff auf meinem persönlichen Laptop.

Irgendwelche Ideen, was Quelle dieses Problems sein könnte?

Antwort

5

Ich hatte das gleiche Problem mit meiner test.sqlite3 Tabelle und was für mich funktionierte, war eine Kopie meiner development.sqlite3 Tabelle und Umbenennung test.sqlite3. Ich hoffe, das funktioniert für dich.

+0

Das funktionierte auch für mich - tun Sie den Refactor, und überprüfen Sie dann mit Datei-Explorer. – cyclical

8

Ein Weg, ich war in der Lage, um diesen Fehler zu bekommen wurde mit

rake db:migrate rails_env=test 

Diese notwendigen Migrationen auf meinem test.sqlite3 erzeugt

ich die Standardeinstellung für RAILS_ENV glauben ist „dev“, aber das variieren. Ich bin noch sehr neu in Schienen, aber ich hoffe, das hilft.

+0

Dies ist der richtige Ansatz. Die Migration muss in der spezifischen Umgebung erfolgen, in der sie verwendet werden soll. – iGbanam

+0

vielleicht ist die Voreinstellung Entwicklung nicht dev, jedenfalls kein Glück für mich, wenn ich rails db: reset mache Ich bekomme den Fehler Fehler verweigert. – barlop

Verwandte Themen