summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/sqlalchemy/dialects/sqlite/base.py2
-rw-r--r--lib/sqlalchemy/testing/suite/test_reflection.py4
2 files changed, 5 insertions, 1 deletions
diff --git a/lib/sqlalchemy/dialects/sqlite/base.py b/lib/sqlalchemy/dialects/sqlite/base.py
index 19a35b495..328fe1caa 100644
--- a/lib/sqlalchemy/dialects/sqlite/base.py
+++ b/lib/sqlalchemy/dialects/sqlite/base.py
@@ -940,7 +940,7 @@ class SQLiteDialect(default.DefaultDialect):
UNIQUE_PATTERN = 'CONSTRAINT (\w+) UNIQUE \(([^\)]+)\)'
return [
- {'name': name, 'column_names': [c.strip() for c in cols.split(',')]}
+ {'name': name, 'column_names': [c.strip(' "') for c in cols.split(',')]}
for name, cols in re.findall(UNIQUE_PATTERN, table_data)
]
diff --git a/lib/sqlalchemy/testing/suite/test_reflection.py b/lib/sqlalchemy/testing/suite/test_reflection.py
index 418c080a2..263a6ae3b 100644
--- a/lib/sqlalchemy/testing/suite/test_reflection.py
+++ b/lib/sqlalchemy/testing/suite/test_reflection.py
@@ -385,6 +385,7 @@ class ComponentReflectionTest(fixtures.TablesTest):
{'name': 'unique_a_b_c', 'column_names': ['a', 'b', 'c']},
{'name': 'unique_a_c', 'column_names': ['a', 'c']},
{'name': 'unique_b_c', 'column_names': ['b', 'c']},
+ {'name': 'unique_asc_key', 'column_names': ['asc', 'key']},
],
key=operator.itemgetter('name')
)
@@ -394,6 +395,9 @@ class ComponentReflectionTest(fixtures.TablesTest):
Column('a', sa.String(20)),
Column('b', sa.String(30)),
Column('c', sa.Integer),
+ # reserved identifiers
+ Column('asc', sa.String(30)),
+ Column('key', sa.String(30)),
schema=schema
)
for uc in uniques: