summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2015-07-14 18:41:46 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2015-07-14 18:41:46 -0400
commitc1947910621ad283219c2730d9224644e51a816c (patch)
treea2c48507540490150ea0d27d9bc73f5710d2e592
parent4fd02761188764e3b82db36da47127a8dcfb950e (diff)
downloadalembic-c1947910621ad283219c2730d9224644e51a816c.tar.gz
- some additional names
- warn for name changes
-rw-r--r--alembic/operations/ops.py6
-rw-r--r--alembic/util/langhelpers.py10
-rw-r--r--tests/test_op.py17
3 files changed, 30 insertions, 3 deletions
diff --git a/alembic/operations/ops.py b/alembic/operations/ops.py
index aee2c90..08a0551 100644
--- a/alembic/operations/ops.py
+++ b/alembic/operations/ops.py
@@ -391,7 +391,11 @@ class CreateForeignKeyOp(AddConstraintOp):
**self.kw)
@classmethod
- @util._with_legacy_names([('name', 'constraint_name')])
+ @util._with_legacy_names([
+ ('name', 'constraint_name'),
+ ('source', 'source_table'),
+ ('referent', 'referent_table'),
+ ])
def create_foreign_key(cls, operations, constraint_name,
source_table, referent_table, local_cols,
remote_cols, onupdate=None, ondelete=None,
diff --git a/alembic/util/langhelpers.py b/alembic/util/langhelpers.py
index f25ce67..1fb0942 100644
--- a/alembic/util/langhelpers.py
+++ b/alembic/util/langhelpers.py
@@ -104,17 +104,23 @@ class ModuleClsProxy(with_metaclass(_ModuleClsMeta)):
translations = getattr(fn, "_legacy_translations", [])
if translations:
outer_args = inner_args = "*args, **kw"
- translate_str = "args, kw = _translate(%r, %r, args, kw)" % (
+ translate_str = "args, kw = _translate(%r, %r, %r, args, kw)" % (
+ fn.__name__,
tuple(spec),
translations
)
- def translate(spec, translations, args, kw):
+ def translate(fn_name, spec, translations, args, kw):
return_kw = {}
return_args = []
for oldname, newname in translations:
if oldname in kw:
+ warnings.warn(
+ "Argument %r is now named %r "
+ "for method %s()." % (
+ oldname, newname, fn_name
+ ))
return_kw[newname] = kw.pop(oldname)
return_kw.update(kw)
diff --git a/tests/test_op.py b/tests/test_op.py
index 396ddf7..36d4774 100644
--- a/tests/test_op.py
+++ b/tests/test_op.py
@@ -596,6 +596,23 @@ class OpTest(TestBase):
"ALTER TABLE t1 ADD CONSTRAINT uk_test UNIQUE (foo, bar)"
)
+ def test_add_foreign_key_legacy_kwarg(self):
+ context = op_fixture()
+
+ op.create_foreign_key(
+ name='some_fk',
+ source='some_table',
+ referent='referred_table',
+ local_cols=['a', 'b'],
+ remote_cols=['c', 'd'],
+ ondelete='CASCADE'
+ )
+ context.assert_(
+ "ALTER TABLE some_table ADD CONSTRAINT some_fk "
+ "FOREIGN KEY(a, b) REFERENCES referred_table (c, d) "
+ "ON DELETE CASCADE"
+ )
+
def test_add_unique_constraint_legacy_kwarg(self):
context = op_fixture()
op.create_unique_constraint(