Spent the whole night to solve this problem.
I wanted to use the flask-migrate plugin for database version management, but I kept encountering this issue.
INFO [alembic.runtime.migration] Context impl MySQLImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
INFO [alembic.env] No changes in schema detected.
I have tried various methods, importing the content from models
in every place, adjusting the use of flask script, and so on...
Solution#
Because my database has already been started, my database is consistent with the content in models
.
So this sentence won't take effect...
Therefore, the best time to migrate is before establishing the database...
Then I started from scratch, and after deleting the database, the migration was successful.
Other Pitfalls#
I noticed that most of the issues encountered by other users were due to not importing the content from models
, so this needs to be taken into account.
Be careful not to have circular dependencies.
Migrate should be done after db.init
.