2011-05-03 10 views
7

NOTA: Usando Rails 3.0.7, Postgresql 8.4.4-1, rake 0.8.7.rake db: test: prepare no crea todas las tablas

Intentando hacer que las rieles funcionen.

El rake db comando: prueba: preparar parece funcionar bien -

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

pero algunas de las tablas no se están creando.

Estas son las tablas de "desarrollo":

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

tablas creadas por el rastrillo: db: prepararse para el entorno de prueba -

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

Como se puede ver que ha creado algunas mesas, pero no negocios, empresas_id_seq o categories_id_seq.

No entiendo por qué, ¿alguien puede ayudarme?

+0

¿Cómo se ve el archivo de esquema? 'RAILS_ROOT/db/schema.rb' –

+0

¿Cómo es tu archivo' schema.rb'? –

+0

OK, acabo de verificar y las tablas faltan de alguna manera en el archivo de esquema. –

Respuesta

24

Primero asegúrese de ejecutar rake db:migrate antes de rake db:test:prepare.

Si eso no funciona, haga una copia de seguridad de su schema.rb en algún lugar, elimínelo, luego ejecute rake db:schema:dump antes de ejecutar rake db:test:prepare. Eso asegurará que su archivo schema.rb refleje completamente su base de datos.

+0

Gracias. Solucioné el archivo schema.rb volviendo atrás la última migración. Sin embargo, no estoy seguro de lo que está mal con esa migración. Si no puedo resolverlo, haré otra pregunta. Gracias por tu ayuda. –

+0

funcionó para mí. Gracias. Como puedo ver ahora, una fusión revirtió algunos cambios en mi schema.rb que causó el problema. Por cierto: eliminar Schema.rb no ha sido necesario. –

Cuestiones relacionadas