From 69af4d09bae7782f733e01b19cf69fa6f36d7165 Mon Sep 17 00:00:00 2001 From: Anv3sh Date: Tue, 21 Sep 2021 22:49:58 +0530 Subject: Fixed #32672 -- Fixed introspection of primary key constraints on SQLite. Thanks Simon Charette for the implementation idea. --- tests/backends/sqlite/test_introspection.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'tests/backends/sqlite') diff --git a/tests/backends/sqlite/test_introspection.py b/tests/backends/sqlite/test_introspection.py index e378e0ee56..9331b5bb1a 100644 --- a/tests/backends/sqlite/test_introspection.py +++ b/tests/backends/sqlite/test_introspection.py @@ -28,6 +28,25 @@ class IntrospectionTests(TestCase): finally: cursor.execute('DROP TABLE test_primary') + def test_get_primary_key_column_pk_constraint(self): + sql = """ + CREATE TABLE test_primary( + id INTEGER NOT NULL, + created DATE, + PRIMARY KEY(id) + ) + """ + with connection.cursor() as cursor: + try: + cursor.execute(sql) + field = connection.introspection.get_primary_key_column( + cursor, + 'test_primary', + ) + self.assertEqual(field, 'id') + finally: + cursor.execute('DROP TABLE test_primary') + @unittest.skipUnless(connection.vendor == 'sqlite', 'SQLite tests') class ParsingTests(TestCase): -- cgit v1.3