Can't migrate or upgrade database with Flask-Migrate (Alembic)

后端 未结 4 644
说谎
说谎 2021-02-13 07:21

I\'ve been using Flask-Migrate (Alembic) for updating my database. I updated my models.py file however I made an error. I ran a migration and went to upgrade the da

相关标签:
4条回答
  • 2021-02-13 07:42

    The first step is remove the latest migrate version created, then you should use these commands:

     flask db stamp head
     flask db migrate -m "newMigration"
     flask db upgrade
    
    0 讨论(0)
  • 2021-02-13 07:47

    alembic.util.CommandError: Target database is not up to date.

    Could you try following steps?

    python manage.py db stamp head
    python manage.py db migrate
    python manage.py db upgrade
    

    'stamp' the revision table with the given revision; don't run any migrations

    0 讨论(0)
  • 2021-02-13 07:54

    Alembic stores the db version in a table it creates called alembic_version. This table contains a single field and row alembic_version.version_num. Make sure the value for this matches the filename of the most recent file in migrations/version. This version number is also contained inside the revision file in the revision variable that generally shows up on line 26 of the file. Make sure it matches the db version.

    Another option is to simply drop the db and recreate it using alembic. If this is a development environment, where the data is not important, that would be my recommendation.

    0 讨论(0)
  • 2021-02-13 08:05

    I feel like the accepted answer is a little over-complicated. I had this same issue and the way that I solved it was to simply delete the migration that contained the coding errors. You don't need it anyways since, again, it was coded incorrectly. Find the latest migration in the migrations/versions folder, delete it, then run your migration again and upgrade. You don't need to delete the data in your database just to migrate it.

    0 讨论(0)
提交回复
热议问题