Saltar al contenido

La base de datos de destino no está actualizada

Nuestros mejores desarrolladores agotaron sus depósitos de café, investigando noche y día por la solución, hasta que Talía encontró el arreglo en Gogs así que en este momento la compartimos con nosotros.

Solución:

Después de crear una migración, ya sea manualmente o como --autogeneratedebes aplicarlo con alembic upgrade head. si usaste db.create_all() desde un caparazón, puedes usar alembic stamp head para indicar que el estado actual de la base de datos representa la aplicación de todas las migraciones.

Esto funcionó para mí

$ flask db stamp head
$ flask db migrate
$ flask db upgrade

Mi situación es como esta pregunta, cuando ejecuto “./manage.py db migrar -m ‘Agregar relación'”, el error aparece así “alembic.util.exc.CommandError: la base de datos de destino no está actualizada”.

Así que verifiqué el estado de mi migración:

(venv) ]#./manage.py db heads
d996b44eca57 (head)
(venv) ]#./manage.py db current
INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
715f79abbd75

¡y descubrió que las cabezas y la corriente son diferentes!

Lo arreglé siguiendo estos pasos:

(venv)]#./manage.py db stamp heads
INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
INFO  [alembic.runtime.migration] Running stamp_revision 715f79abbd75 -> d996b44eca57

Y ahora la corriente es igual a la cabeza

(venv) ]#./manage.py db current
INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
d996b44eca57 (head)

Y ahora puedo hacer la migración de nuevo.

Sección de Reseñas y Valoraciones

Si crees que te ha resultado útil nuestro post, te agradeceríamos que lo compartas con más desarrolladores y nos ayudes a difundir esta información.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *