From: Mike Bayer Date: Sun, 17 May 2009 22:00:33 +0000 (+0000) Subject: - Reflecting a FOREIGN KEY construct will take into account X-Git-Tag: rel_0_5_4~3 X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=ab0434d6488772b927c3937737784e92b660e118;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git - Reflecting a FOREIGN KEY construct will take into account a dotted schema.tablename combination, if the foreign key references a table in a remote schema. [ticket:1405] --- diff --git a/CHANGES b/CHANGES index 4250bfffef..5e0bc71e57 100644 --- a/CHANGES +++ b/CHANGES @@ -147,6 +147,11 @@ CHANGES ForeignKey constructed from __clause_element__() style construct (i.e. declarative columns). [ticket:1353] +- mysql + - Reflecting a FOREIGN KEY construct will take into account + a dotted schema.tablename combination, if the foreign key + references a table in a remote schema. [ticket:1405] + - mssql - Modified how savepoint logic works to prevent it from stepping on non-savepoint oriented routines. Savepoint diff --git a/lib/sqlalchemy/databases/mysql.py b/lib/sqlalchemy/databases/mysql.py index c2b233a6e9..ba6b026ea2 100644 --- a/lib/sqlalchemy/databases/mysql.py +++ b/lib/sqlalchemy/databases/mysql.py @@ -2471,7 +2471,7 @@ class MySQLSchemaReflector(object): r'%(iq)s(?P(?:%(esc_fq)s|[^%(fq)s])+)%(fq)s +' r'FOREIGN KEY +' r'\((?P[^\)]+?)\) REFERENCES +' - r'(?P%(iq)s[^%(fq)s]+%(fq)s) +' + r'(?P
%(iq)s[^%(fq)s]+%(fq)s(?:\.%(iq)s[^%(fq)s]+%(fq)s)?) +' r'\((?P[^\)]+?)\)' r'(?: +(?PMATCH \w+))?' r'(?: +ON DELETE (?P%(on)s))?'