Używam Rails 4.1 i PostgreSQL i używam foreigner gem do tworzenia ograniczeń klucza obcego. Ale mam pewne problemy z fixtures.Jak pracować z testami i urządzeniami w bazie danych z kluczami obcymi w Railsach?
Kiedy biegnę:
spring rake test
mam błędy takie jak następujące:
ActiveRecord::InvalidForeignKey: PG::ForeignKeyViolation: ERROR: update or delete on table "pessoas" violates foreign key constraint "pacientes_pessoa_id_fk" on table "pacientes"
DETAIL: Key (id)=(980190962) is still referenced from table "pacientes".
: DELETE FROM "pessoas"
znalazłem obejście: odtworzenie bazy danych:
RAILS_ENV=test spring rake db:reset && spring rake test
mogę uzyskać jakąś błędów, gdy próbuję wysiewać bazę danych programowania za pomocą urządzeń przy użyciu rake db:fixture:load
.
Próbowałem już zmienić kolejność ładowania urządzenia w test_helper.rb
, ale to nie wystarczyło.
Ktoś wie, jak to naprawić? Szukałem dużo w sieci i nie znalazłem rozwiązania.
Jakieś postępy w tej kwestii? –
Możesz uruchomić wiele skryptów rake jednocześnie 'RAILS_ENV = test spring rake db: reset test' – zeeraw