rake db: test: подготовить не создавая все таблицы - PullRequest
7 голосов
/ 03 мая 2011

ПРИМЕЧАНИЕ: Использование Rails 3.0.7, Postgresql 8.4.4-1, rake 0.8.7.

Попытка заставить тестирование рельсов работать.

Команда rake db: test: prepareкажется, работает нормально -

$ rake db:test:prepare -t
(in /home/beau/looked)
** Invoke db:test:prepare (first_time)
** Invoke db:abort_if_pending_migrations (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:abort_if_pending_migrations
** Execute db:test:prepare
** Invoke db:test:load (first_time)
** Invoke db:test:purge (first_time)
** Invoke environment 
** Execute db:test:purge
** Execute db:test:load
** Invoke db:schema:load (first_time)
** Invoke environment 
** Execute db:schema:load
NOTICE:  CREATE TABLE will create implicit sequence "slugs_id_seq" for serial column "slugs.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "slugs_pkey" for table "slugs"

НО некоторые таблицы не создаются.

Это таблицы "разработки":

$ psql -d looked -U admin -c '\d'

               List of relations
 Schema |       Name        |   Type   | Owner 
--------+-------------------+----------+-------
 public | businesses        | table    | admin
 public | businesses_id_seq | sequence | admin
 public | categories        | table    | admin
 public | categories_id_seq | sequence | admin
 public | schema_migrations | table    | admin
 public | slugs             | table    | admin
 public | slugs_id_seq      | sequence | admin
(7 rows)

Созданы таблицыпо граблям: db: подготовиться к тестовой среде -

$ psql -d looked_test -U admin -c '\d'
               List of relations
 Schema |       Name        |   Type   | Owner
--------+-------------------+----------+-------
 public | categories        | table    | admin
 public | schema_migrations | table    | admin
 public | slugs             | table    | admin
 public | slugs_id_seq      | sequence | admin
(4 rows)

Как вы можете видеть, он создал несколько таблиц, но не бизнес, business_id_seq или Categories_id_seq.

Я нахожусь впотеря, почему, кто-то может мне помочь?

1 Ответ

25 голосов
/ 03 мая 2011

Сначала убедитесь, что запустили rake db:migrate до rake db:test:prepare.

Если это не сработает, создайте резервную копию вашего schema.rb, удалите его и запустите rake db:schema:dump перед запуском rake db:test:prepare. Это гарантирует, что ваш файл schema.rb полностью отражает вашу базу данных.

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