$ flask db migrate INFO [alembic.runtime.migration] Context impl MySQLImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.autogenerate.compare] Detected type change from TINYINT(display_width=1) to Boolean() on 'orders.complete' INFO [alembic.autogenerate.compare] Detected type change from TINYINT(display_width=1) to Boolean() on 'tranactions.type' INFO [alembic.autogenerate.compare] Detected type change from TINYINT(display_width=1) to Boolean() on 'users.confirmed' Generating /srv/www/waasle/migrations/versions/4da4194e339d_.py ... done
解决方法
在 migrations/env.py 文件中增加以下函数:
1 2 3 4 5 6 7 8 9 10 11 12
defmy_compare_type( context, inspected_column, metadata_column, inspected_type, metadata_type ): from sqlalchemy.dialects import mysql from sqlalchemy.sql import sqltypes if ( isinstance(inspected_type, mysql.types.TINYINT) andisinstance(metadata_type, sqltypes.Boolean) ): returnFalse returnNone