summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/sqlalchemy/dialects/mysql/base.py2
-rw-r--r--lib/sqlalchemy/schema.py8
2 files changed, 6 insertions, 4 deletions
diff --git a/lib/sqlalchemy/dialects/mysql/base.py b/lib/sqlalchemy/dialects/mysql/base.py
index 61dd99b85..8b8380471 100644
--- a/lib/sqlalchemy/dialects/mysql/base.py
+++ b/lib/sqlalchemy/dialects/mysql/base.py
@@ -1309,7 +1309,7 @@ class MySQLDDLCompiler(compiler.DDLCompiler):
elif column.nullable and is_timestamp and default is None:
colspec.append('NULL')
- if column is column.table._autoincrement_column:
+ if column is column.table._autoincrement_column and column.server_default is None:
colspec.append('AUTO_INCREMENT')
return ' '.join(colspec)
diff --git a/lib/sqlalchemy/schema.py b/lib/sqlalchemy/schema.py
index a81874500..a530a1a7a 100644
--- a/lib/sqlalchemy/schema.py
+++ b/lib/sqlalchemy/schema.py
@@ -325,9 +325,11 @@ class Table(SchemaItem, expression.TableClause):
if col.autoincrement and \
issubclass(col.type._type_affinity, types.Integer) and \
not col.foreign_keys and \
- isinstance(col.default, (type(None), Sequence)) and \
- col.server_default is None:
-
+ isinstance(col.default, (type(None), Sequence)):
+ # don't look at server_default here since different backends may
+ # or may not have a server_default, e.g. postgresql reflected
+ # SERIAL cols will have a DefaultClause here but are still
+ # autoincrement.
return col
@property