**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,
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)
"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(