Предупреждение: база данных, определенная как «test», будет стерта и заново сгенерирована из вашей базы данных разработки, когда вы запустите «rake». - PullRequest
0 голосов
/ 03 января 2012

Я заметил это в файле database.yml для вновь созданного проекта Rails 3.1:

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".

Что это значит? Означает ли это, что даже если я скажу, например, rake routes, он сотрет и восстановит мою тестовую базу данных?

Ответы [ 3 ]

4 голосов
/ 03 января 2012

rake routes не совпадает с rake

Когда вы запускаете rake, вы говорите Рейку, что не указываете задачу для запуска. По соглашению Rails установил это для запуска ваших модульных тестов. Поэтому, когда вы запускаете rake routes, вы указали задачу, и она не будет запускать модульные тесты.

Также: после запуска миграции продолжайте и запустите: rake db:test:prepare

В противном случае ваша тестовая БД не узнает о вашей новой миграции.

0 голосов
/ 03 января 2012

Когда вы запускаете тесты в рельсах (с rake test), первое, что он делает, это воссоздает вашу тестовую базу данных. Задача по умолчанию при запуске rake в приложении rails - test, поэтому rake без аргументов совпадает с rake test.

Когда вы запускаете другие грабли (например, rake routes), он не стирает вашу базу данных.

0 голосов
/ 03 января 2012

Когда вы в конечном итоге уничтожаете свою тестовую базу данных (и это произойдет, поверьте мне), вы можете восстановить ее с нуля в соответствии со спецификациями, определенными в базе данных разработки. Вы можете сделать это, запустив rake db: test: prepare.

из Направляющие рельсов

# Do not set this db to the same as development or production.

от database.yml

Это означает, что вы можете потерять свои данные, если будете использовать одну и ту же базу данных для сред development и test. rake routes не влияет на данные в базе данных

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...