IIC2143-2020-2 / syllabus

Syllabus de IIC2143 Ingeniería de Software 2020-2
35 stars 10 forks source link

Borrar modelo #148

Closed RonaldoSosa closed 4 years ago

RonaldoSosa commented 4 years ago

Hola!Tengo un problema, lo que pasa es que cuando cree un modelo me equivoque respecto al tipo de dato que queria asignarle a un elemento de este , sin embargo , cuando me di cuenta ya había ejecutado el rails db:migrate, intente destruir el modelo con rails destroy model "nombre del modelo" y procedi a crear un nuevo modelo con el mismo nombre pero con los tipos de datos correctos,y al intentar hacer el rails db:migrate me aparece el siguiente error, debo señalar que llame al modelo Carrete y también cree el controlado Carretes , no se si esto último tambien este relacionado pero lo menciono de igual forma.

Una forma de solucionarlo sería meterme directamente, por ejemplo desde pgAdmin 4, a la base de datos y borrar la tabla carrete desde ahí o no sería recomendable hacer eso ?. Captura de pantalla (121) Captura de pantalla (122) Captura de pantalla (123) Captura de pantalla (124) Captura de pantalla (125)

jerosalazar commented 4 years ago

Hola! lo que está pasando es que la migración anterior creó la tabla de carretes en la db y tienes que deshacer ese cambio. Si corres rails db:migrate:status puedes ver todas las migraciones y si están corridas o no. Para deshacer la ultima migración que está up, puedes correr rails db:rollback. Te recomiendo que corras status antes y despues para checkear que todo esté bien

RonaldoSosa commented 4 years ago

Me aparece lo siguiente: Captura de pantalla (127) Tendría que aparecerme otra migración carrete?, es que la que me aparece tiene el identificador que me apareció Captura de pantalla (128) cuando hice el nuevo modelo

jerosalazar commented 4 years ago

Puede ser que la del modelo antiguo se eliminó cuando hiciste el model destroy. Lo que puedes hacer en este caso, ya que eliminaste el archivo y no tienes como hacerle rollback es (si no tienes información importante en la db) rails drop para botar la db, rails db:create y rails db:migrate para volver a crearla y correr las migraciones desde 0.

Recuerda que nunca debes eliminar un archivo de migraciones a menos que le hayas hecho rollback y estes seguro de que no lo necesitarás

RonaldoSosa commented 4 years ago

Hola! rails drop no me aparece como comando valido, creo que el correcto seria rails db:drop, rails db:create , rails db:migrate

jerosalazar commented 4 years ago

db:drop

RonaldoSosa commented 4 years ago

Ahora me funciona todo correctamente!! Gracias!!!!