Rake db: test: do not create all tables

NOTE. Using Rails 3.0.7, Postgresql 8.4.4-1, rake 0.8.7.

Trying to work with rails.

The rake db: test: prepare command works fine -

  $ 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"

BUT some of the tables are not created.

These are development tables:

  $ 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)

Tables created by rake: db: preparing for a test environment -

  $ 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)

As you can see, he created several tables, but not for enterprises, business_id_seq or categories_id_seq.

I donโ€™t understand why, can someone help me?

+7
source share
1 answer

First make sure to run rake db:migrate before rake db:test:prepare .

If this does not work, back up your schema.rb somewhere, delete it, then run rake db:schema:dump before running rake db:test:prepare . This ensures that your schema.rb file fully reflects your database.

+24
source

All Articles