грабли test и test_structure.sql - PullRequest
1 голос
/ 07 мая 2010

Прежде всего, мне нужно запустить "rake RAILS_ENV = test ...", чтобы наборы тестов попали в мою тестовую БД. Раздражает, но жить хорошо.

Однако, когда я делаю это, я получаю длинный поток ошибок, таких как:

> rake RAILS_ENV=test -I test test:units
psql:/path/to/project/db/test_structure.sql:33: ERROR:  function "armor" already exists with same argument types
[and many more]

Похоже, что некоторые определения БД загружаются без необходимости. Я не могу найти упоминания об этом в Google, поэтому мне было интересно, видели ли это другие?

Я использую базу данных PostgreSQL со следующим в моей среде.rb:

  config.active_record.schema_format = :sql

и использование Rails 2.3.5 с рейком 0.8.7.

На данный момент я исправил это, но забыл как! Я думаю, что я мог загрузить pgcrypt в схему шаблона, поэтому база данных создала «пустую» базу данных с уже загруженной, а затем rails переопределил функции из сохраненной схемы. Выгрузка функций из базы данных шаблонов исправила бы это.

1 Ответ

1 голос
/ 06 февраля 2011

Обычное соглашение для запуска граблей следующее:

> RAILS_ENV=test rake test:units

или как показано ниже:

> rake test:units RAILS_ENV=test

Можете ли вы попробовать запустить один из указанных выше способов?Надеюсь, что сработает!

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