0

В одном из своих последних файлов миграции, я отбросила таблицу я создал давно (drop_table: сделок)Не удается запустить «тест грабли» после удаления таблицы

С тех пор «тест грабли» терпит неудачу с

ActiveRecord::StatementInvalid: PG::Error: ERROR: relation "transactions" does not exist 
LINE 1: DELETE FROM "transactions" 
^ 
: DELETE FROM "transactions" 
C:/Ruby/1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-3.2.13/lib/active_record/connection_adapters/postgresql_adapter.rb:1161:in `async_exec' 
C:/Ruby/1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-3.2.13/lib/active_record/connection_adapters/postgresql_adapter.rb:1161:in `exec_no_cache' 
C:/Ruby/1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-3.2.13/lib/active_record/connection_adapters/postgresql_adapter.rb:671:in `block in exec_delete' 
C:/Ruby/1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-3.2.13/lib/active_record/connection_adapters/abstract_adapter.rb:280:in `block in log' 
C:/Ruby/1.9.3/lib/ruby/gems/1.9.1/gems/activesupport-3.2.13/lib/active_support/notifications/instrumenter.rb:20:in `instrument' 
C:/Ruby/1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-3.2.13/lib/active_record/connection_adapters/abstract_adapter.rb:275:in `log' 
C:/Ruby/1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-3.2.13/lib/active_record/connection_adapters/postgresql_adapter.rb:670:in `exec_delete' 
C:/Ruby/1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-3.2.13/lib/active_record/connection_adapters/abstract/database_statements.rb:101:in `delete' 
C:/Ruby/1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-3.2.13/lib/active_record/connection_adapters/abstract/query_cache.rb:14:in `delete' 
C:/Ruby/1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-3.2.13/lib/active_record/fixtures.rb:497:in `block (4 levels) in create_fixtures' 
C:/Ruby/1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-3.2.13/lib/active_record/fixtures.rb:496:in `each' 
C:/Ruby/1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-3.2.13/lib/active_record/fixtures.rb:496:in `block (3 levels) in create_fixtures' 
C:/Ruby/1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-3.2.13/lib/active_record/fixtures.rb:492:in `each' 
C:/Ruby/1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-3.2.13/lib/active_record/fixtures.rb:492:in `block (2 levels) in create_fixtures' 
C:/Ruby/1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-3.2.13/lib/active_record/connection_adapters/abstract/database_statements.rb:192:in `transaction' 
C:/Ruby/1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-3.2.13/lib/active_record/fixtures.rb:491:in `block in create_fixtures' 
C:/Ruby/1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-3.2.13/lib/active_record/connection_adapters/postgresql_adapter.rb:523:in `disable_referential_integrity' 
C:/Ruby/1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-3.2.13/lib/active_record/fixtures.rb:476:in `create_fixtures' 
C:/Ruby/1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-3.2.13/lib/active_record/fixtures.rb:895:in `load_fixtures' 
C:/Ruby/1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-3.2.13/lib/active_record/fixtures.rb:849:in `setup_fixtures' 
C:/Ruby/1.9.3/lib/ruby/gems/1.9.1/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:407:in `_run__291023375__setup__979454852__callbacks' 
C:/Ruby/1.9.3/lib/ruby/gems/1.9.1/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:405:in `__run_callback' 
C:/Ruby/1.9.3/lib/ruby/gems/1.9.1/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:385:in `_run_setup_callbacks' 
C:/Ruby/1.9.3/lib/ruby/gems/1.9.1/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:81:in `run_callbacks' 
C:/Ruby/1.9.3/lib/ruby/gems/1.9.1/gems/activesupport-3.2.13/lib/active_support/testing/setup_and_teardown.rb:35:in `run' 

У меня нет упоминаний о транзакциях во всем моем приложении (помимо файлов миграции).

Он отлично работает в среде разработки и производства, это просто тест, который терпит неудачу.

Я пробовал рейк db: тест: готовьтесь, но он уже побежал после рейк-теста. Я бросил тестовую базу данных, прежде чем запускать мой рейк-тест, база данных будет заново создана, но произойдет такая же ошибка.

Любая идея, где искать/как исправить это, чтобы снова запустить свои тесты?

+0

Не так много, 88. – Jeremy

ответ

1

Стекловатка вызывает методы создания fixtures.

Пожалуйста, проверьте все свои приборы, чтобы проверить, нет ли отношения к модели transation. С grep, это будет ОК

+0

Bummer! У меня есть EMPTY-файл transaction.yml. Ничего в этом ... хорошо поймать, спасибо! – Jeremy

0

первый проверить transactions таблица оленья кожа существует во всех трех дБ (dev,pro,test) , если это уже сделано, вам нужно запустить rake db:migrate для обновления ваши schema.rb .И считают, transactions стол по-прежнему существует в schema.rb, который тоже нуждается в обновлении.

+0

Нет, это не в моей схеме, и это не в тестовой базе данных. – Jeremy