summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/dialects/sqlite/base.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2016-03-30 16:25:41 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2016-03-30 16:25:41 -0400
commite6cbf44d6dd7992daad940f60833735362518bfa (patch)
treeb117e0a8170b7f83e8b4f08531a145d6000aa426 /lib/sqlalchemy/dialects/sqlite/base.py
parent9bdbf19d54174c1077689bc472dc088c9b06aa24 (diff)
parentabeb762f885ae59cc05380ec7702680df6fae7ef (diff)
downloadsqlalchemy-e6cbf44d6dd7992daad940f60833735362518bfa.tar.gz
Merge remote-tracking branch 'origin/pr/230'
Diffstat (limited to 'lib/sqlalchemy/dialects/sqlite/base.py')
-rw-r--r--lib/sqlalchemy/dialects/sqlite/base.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/sqlalchemy/dialects/sqlite/base.py b/lib/sqlalchemy/dialects/sqlite/base.py
index b50170759..ddd869448 100644
--- a/lib/sqlalchemy/dialects/sqlite/base.py
+++ b/lib/sqlalchemy/dialects/sqlite/base.py
@@ -1297,12 +1297,20 @@ class SQLiteDialect(default.DefaultDialect):
@reflection.cache
def get_pk_constraint(self, connection, table_name, schema=None, **kw):
+ constraint_name = None
+ table_data = self._get_table_sql(connection, table_name, schema=schema)
+ if table_data:
+ PK_PATTERN = 'CONSTRAINT (\w+) PRIMARY KEY'
+ result = re.search(PK_PATTERN, table_data, re.I)
+ constraint_name = result.group(1) if result else None
+
cols = self.get_columns(connection, table_name, schema, **kw)
pkeys = []
for col in cols:
if col['primary_key']:
pkeys.append(col['name'])
- return {'constrained_columns': pkeys, 'name': None}
+
+ return {'constrained_columns': pkeys, 'name': constraint_name}
@reflection.cache
def get_foreign_keys(self, connection, table_name, schema=None, **kw):