From: ergo Date: Tue, 17 Jul 2012 22:35:08 +0000 (+0200) Subject: added drop primary key constraint X-Git-Tag: rel_0_3_6~11 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bbe847d5b8932d9c113d659a2807678aa8777ea1;p=thirdparty%2Fsqlalchemy%2Falembic.git added drop primary key constraint --- diff --git a/alembic/operations.py b/alembic/operations.py index 4297a250..1d59df39 100644 --- a/alembic/operations.py +++ b/alembic/operations.py @@ -565,13 +565,14 @@ class Operations(object): :param name: name of the constraint. :param tablename: tablename. :param type: optional, required on MySQL. can be - 'foreignkey', 'unique', or 'check' + 'foreignkey', 'primary', 'unique', or 'check' """ t = self._table(tablename) types = { 'foreignkey':lambda name:schema.ForeignKeyConstraint( [], [], name=name), + 'primary':schema.PrimaryKeyConstraint, 'unique':schema.UniqueConstraint, 'check':lambda name:schema.CheckConstraint("", name=name), None:schema.Constraint diff --git a/tests/test_mysql.py b/tests/test_mysql.py index 4c4a357d..548217e8 100644 --- a/tests/test_mysql.py +++ b/tests/test_mysql.py @@ -48,6 +48,13 @@ def test_drop_fk(): "ALTER TABLE t1 DROP FOREIGN KEY f1" ) +def test_drop_constraint_primary(): + context = op_fixture('mysql') + op.drop_constraint('primary', 't1',type='primary') + context.assert_( + "ALTER TABLE t1 DROP PRIMARY KEY " + ) + def test_drop_unique(): context = op_fixture('mysql') op.drop_constraint("f1", "t1", "unique")