This comment has been minimized.

autoincrement is not present within the autogen mechanics or operation object's autogen related methods at all and would need to be implemented all the way through. might not be feasible prior to SQLA 1.1 either since autoincrement might not report a meaningful value in reflection, have to see.

This comment has been minimized.

https://gerrit.sqlalchemy.org/315 . This is not a full detection of "change" for autoincrement, as this is not generally available across backends. It's limited to just making sure the flag is set to True if we know that the column will require the AUTO_INCREMENT directive if being recreated.

This comment has been minimized.

The autoincrement=True flag is now rendered within the
:meth:.Operations.alter_column operation if the source column indicates
that this flag should be set to True. The behavior is sensitive to
the SQLAlchemy version in place, as the "auto" default option is new
in SQLAlchemy 1.1. When the source column indicates autoincrement
as True or "auto", the flag will render as True if the original column
contextually indicates that it should have "autoincrement" keywords,
and when the source column explcitly sets it to False, this is also
rendered. The behavior is intended to preserve the AUTO_INCREMENT flag
on MySQL as the column is fully recreated on this backend. Note that this
flag does not support alteration of a column's "autoincrement" status,
as this is not portable across backends.