2010-09-15 14 views
7

zacząłem rails3 uczenia kilka dni temu, a od dziś, za każdym razem biegnę testów jednostkowych dla mojego modelu otrzymuję komunikat o błędzie:Rails3 ActiveRecord :: StatementInvalid: ... nie taki stół w każdym teście

ActiveRecord::StatementInvalid: SQLite3::SQLException: no such table: users: DELETE FROM "users" WHERE 1=1

testy poszło gładko wczoraj, biegnę im dzisiaj (wszystko powraca do stanu z chwili ich pracy) ... a ja wciąż się błąd.

Używam szyn 3 uwolnienie na Windows7 64 bit, SQLite 3.7.2, Ruby 187 (ale ja mam wielu instalacji rubinowe - używając PIK, aby wybrać 187)

Wszelkie pomysły na naprawienie tego problemu?

Odpowiedz

11

Warto sprawdzić, czy Twoja testowa baza danych jest poprawnie skonfigurowana przy użyciu schematu z bazy danych programistycznych. Można to osiągnąć z:

rake db:test:prepare 
+0

I nie zapomnij 'rake db: create RAILS_ENV = test' wcześniej. –

13

Jeśli utworzono model używając generatora szynach, może masz po lewej stronie nad pliki osprzętu, które próbują uzyskać dostęp do tabeli, która już nie istnieje. Dla mnie usunięcie pliku yml rozwiązało problem.

Ten odpowiedział tutaj: https://stackoverflow.com/a/6222934

+0

Oprawy często są ładowane do modeli; Jeśli tabela już nie istnieje, otrzymasz ten błąd; Usuń urządzenia, które ładują się do nieistniejącej tabeli; – FlyingV

+0

Tak, lub może się zdarzyć, jeśli zmieniłeś nazwy niektórych modeli i nie zmieniono również nazw plików urządzeń. – Magne

Powiązane problemy