summaryrefslogtreecommitdiff
path: root/migrate/changeset/databases/mysql.py
diff options
context:
space:
mode:
authorJim Rollenhagen <jim@jimrollenhagen.com>2019-09-26 09:56:42 -0400
committerJim Rollenhagen <jim@jimrollenhagen.com>2019-09-26 09:56:42 -0400
commit52672a64cc0cab4ea14a4a756fce850eb03315e3 (patch)
treea86024e4e6141aa8983c750f751c58d924f5b11a /migrate/changeset/databases/mysql.py
parent8acab2cd75a5b23ac162e49c8e4fb1e3f958352a (diff)
downloadsqlalchemy-migrate-52672a64cc0cab4ea14a4a756fce850eb03315e3.tar.gz
Retire github mirror, repo moved to opendevHEADmaster
Diffstat (limited to 'migrate/changeset/databases/mysql.py')
-rw-r--r--migrate/changeset/databases/mysql.py68
1 files changed, 0 insertions, 68 deletions
diff --git a/migrate/changeset/databases/mysql.py b/migrate/changeset/databases/mysql.py
deleted file mode 100644
index 1c01706..0000000
--- a/migrate/changeset/databases/mysql.py
+++ /dev/null
@@ -1,68 +0,0 @@
-"""
- MySQL database specific implementations of changeset classes.
-"""
-
-import sqlalchemy
-from sqlalchemy.databases import mysql as sa_base
-from sqlalchemy import types as sqltypes
-
-from migrate import exceptions
-from migrate.changeset import ansisql
-from migrate.changeset import util
-
-
-
-MySQLSchemaGenerator = sa_base.MySQLDDLCompiler
-
-class MySQLColumnGenerator(MySQLSchemaGenerator, ansisql.ANSIColumnGenerator):
- pass
-
-
-class MySQLColumnDropper(ansisql.ANSIColumnDropper):
- pass
-
-
-class MySQLSchemaChanger(MySQLSchemaGenerator, ansisql.ANSISchemaChanger):
-
- def visit_column(self, delta):
- table = delta.table
- colspec = self.get_column_specification(delta.result_column)
- if delta.result_column.autoincrement:
- primary_keys = [c for c in table.primary_key.columns
- if (c.autoincrement and
- isinstance(c.type, sqltypes.Integer) and
- not c.foreign_keys)]
-
- 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)
-
- self.start_alter_table(table)
-
- self.append("CHANGE COLUMN %s " % old_col_name)
- self.append(colspec)
- self.execute()
-
- def visit_index(self, param):
- # If MySQL can do this, I can't find how
- raise exceptions.NotSupportedError("MySQL cannot rename indexes")
-
-
-class MySQLConstraintGenerator(ansisql.ANSIConstraintGenerator):
- pass
-
-
-class MySQLConstraintDropper(MySQLSchemaGenerator, ansisql.ANSIConstraintDropper):
- def visit_migrate_check_constraint(self, *p, **k):
- raise exceptions.NotSupportedError("MySQL does not support CHECK"
- " constraints, use triggers instead.")
-
-
-class MySQLDialect(ansisql.ANSIDialect):
- columngenerator = MySQLColumnGenerator
- columndropper = MySQLColumnDropper
- schemachanger = MySQLSchemaChanger
- constraintgenerator = MySQLConstraintGenerator
- constraintdropper = MySQLConstraintDropper