summaryrefslogtreecommitdiff
path: root/migrate/changeset/databases/mysql.py
diff options
context:
space:
mode:
authoriElectric <unknown>2010-05-02 20:31:50 +0200
committeriElectric <unknown>2010-05-02 20:31:50 +0200
commitece9ffed35e800fc10a6c80e79d300d7b52f2e92 (patch)
treef915a18f7b167249e133ec01228240ef63fa1be7 /migrate/changeset/databases/mysql.py
parentda836aad7ec4cbda0e42c50b1843bf354f7ecce5 (diff)
downloadsqlalchemy-migrate-ece9ffed35e800fc10a6c80e79d300d7b52f2e92.tar.gz
fix MySQL failing tests with autoincrement
Diffstat (limited to 'migrate/changeset/databases/mysql.py')
-rw-r--r--migrate/changeset/databases/mysql.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/migrate/changeset/databases/mysql.py b/migrate/changeset/databases/mysql.py
index f32ea5f..191b77a 100644
--- a/migrate/changeset/databases/mysql.py
+++ b/migrate/changeset/databases/mysql.py
@@ -25,13 +25,15 @@ class MySQLSchemaChanger(MySQLSchemaGenerator, ansisql.ANSISchemaChanger):
table = delta.table
colspec = self.get_column_specification(delta.result_column)
if delta.result_column.autoincrement:
- first = [c for c in table.primary_key.columns
+ primary_keys = [c for c in table.primary_key.columns
if (c.autoincrement and
isinstance(c.type, sqltypes.Integer) and
- not c.foreign_keys)].pop(0)
+ not c.foreign_keys)]
- if first.name == delta.current_name:
- colspec += " AUTO_INCREMENT"
+ if primary_keys:
+ first = primary_keys.pop(0)
+ if first.name == delta.current_name:
+ colspec += " AUTO_INCREMENT"
old_col_name = self.preparer.quote(delta.current_name, table.quote)
self.start_alter_table(table)