2015-12-20 4 views
0

Я новичок в Ruby on Rails и после Майкла Хартлса Ruby on Rails Tutorial. Когда я запускаю тестовый тест rake exec, я получаю эту ошибку:rails test database cloning dev database

ERROR["test_should_get_new", SessionsControllerTest, 2.331314] 
test_should_get_new#SessionsControllerTest (2.33s) 
ActiveRecord::StatementInvalid:   
ActiveRecord::StatementInvalid: Could not find table 'users' 

и один раз для всех моих тестов. Я вижу, что моя тестовая база данных: test.sqlite3 пуста. В моей базе данных разработки development.sqlite3 есть таблица пользователей.

Я попытался запустить следующую попытаться клонировать базу данных пользователей в тестовой базе данных, но ничего не работает:

rake db:migrate:reset 
rake db:migrate db:test:prepare 

rake db:test:clone 

rake db:test:prepare 
rake db:test:load 

, но она по-прежнему пуст. Любые предложения, пожалуйста?

+0

Можете ли вы разместить свою конфигурацию/базу данных.yml – MZaragoza

ответ

0

Я думаю, что вы могли бы быть в состоянии получить его:

RAILS_ENV=test rake db:migrate 

Дайте ему попробовать, я имел эту проблему перед собой. Я считаю, что

rake db:test:prepare 

устарел. Какую версию рубинов и рельсов вы используете?

+0

у него отсутствует вся база данных, поэтому db: create может быть полезен дополнительно ... – benjamin

0

Я понял, исправить, хотя я все еще не уверен, почему возникла проблема для начала. То, что я сделал, я взял чистый Sql CREATE TABLE, используемый для создания таблицы разработки и выполнил ее в таблице users. Теперь все работает нормально.