2010-09-15 19 views
7

he empezado a aprender rails3 Hace pocos días, y dado que hoy en día, cada vez que ejecute prueba de la unidad de mi modelo me sale este mensaje de error:Rails3 ActiveRecord :: StatementInvalid: ... hay tal mesa en cada prueba

ActiveRecord::StatementInvalid: SQLite3::SQLException: no such table: users: DELETE FROM "users" WHERE 1=1

las pruebas se desarrolló sin problemas ayer, ejecutarlos hoy (volviendo todo al estado desde el momento en que estaban trabajando) ... y todavía estoy recibiendo el error.

que estoy usando los carriles 3 lanzamiento en Windows 7 64 bits, SQLite 3.7.2, rubí 187 (pero tengo muchas instalaciones de rubí - PIK usando para seleccionar 187)

Ideas en solucionar este problema?

Respuesta

11

Valdría la pena comprobar que su base de datos de prueba está configurada correctamente utilizando el esquema de su base de datos de desarrollo. Usted puede lograr esto con:

rake db:test:prepare 
+0

y no se olvide 'rake db: crear RAILS_ENV = test' antes de eso. –

13

Si ha creado el modelo usando un generador de rieles, es posible que han dejado más archivos de datos que están tratando de acceder a una tabla que ya no está allí. Para mí, borrar el archivo yml resolvió el problema.

Esto ha sido resuelta aquí: https://stackoverflow.com/a/6222934

+0

Los accesorios a menudo se cargan en los modelos; Si una tabla ya no existe, obtendrá este error; Retire los accesorios que se cargan en la mesa no existente; – FlyingV

+0

Sí, o puede pasar si ha cambiado el nombre de algunos modelos y no ha cambiado el nombre de los archivos del dispositivo también. – Magne

Cuestiones relacionadas