Rails 3 Errores de migración

Recientemente agregué Devise y CanCan a mi Rails 3.2.3 aplicación y necesita ejecutar rake db:migrate para que funcionen correctamente. Tengo un archivo de migración para enlaces que ya creé y de alguna manera está en conflicto cuando ejecuto rake db:migrate

==  CreateLinks: migrating ====================================================
-- create_table(:links)
rake aborted!
An error has occurred, this and all later migrations canceled:

SQLite3::SQLException: table "links" already exists: CREATE TABLE "links" ("id"INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "url" varchar(255), "description" var
char(255), "created_at" datetime NOT NULL, "points" integer, "updated_at" dateti
me NOT NULL) 

Intenté correr rake db:migrate:reset pero esto parece no hacer nada para ayudar a mi situación. Todavía no puedo ejecutar una migración de base de datos para mis nuevas gemas. ¿Cómo puedo evitar esto? ¿Puedo omitir la migración de enlaces de alguna manera?

preguntado el 12 de junio de 12 a las 22:06

intentas crear una tabla que ya existe! elimine los "enlaces" de su tabla o use "rake db:rollback" si esa fue su última migración y luego ejecute nuevamente "rake db:migrate". -

Intenté db: rollback pero eso no me dio el mismo problema. ¿Cómo puedo eliminar los 'enlaces' de la tabla? -

1 Respuestas

¿Ha creado la tabla de enlaces manualmente antes de ejecutar la migración? De alguna manera, parece que sus migraciones no están sincronizadas con su base de datos.

Si no le preocupa ninguno de los datos de la base de datos, puede hacer una rake db:drop primero, luego haz el rake db:migrate. Esto elimina todas las tablas de la base de datos y ejecuta todas las migraciones nuevamente desde el principio.

Si necesita mantener las tablas de la base de datos existentes, puede envolver el create_table :links declaración con un unless table_exists? :links .

Respondido el 12 de junio de 12 a las 23:06

rake db:drop lol... de alguna manera mis migraciones se desincronizaron y no conocía los comandos correctos aparte de rake db:migrate y rake db:reset... ¡gracias de nuevo! - Tim Gruns

Aquí hay uno para recordar: rake -T Muestra una descripción de las opciones de rake disponibles. - Dave Isaacs

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.