diff options
| author | Anv3sh <anveshgreat11@gmail.com> | 2022-05-12 01:00:13 +0530 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2022-06-01 08:40:44 +0200 |
| commit | 295249c901e13ec1703ada5c414cd97aba72f3e9 (patch) | |
| tree | a2997378671133fdb93ca12aa7f855e42f23f71d /tests/inspectdb | |
| parent | ebf25555bbed3e9112d4b726575d60b242daf48a (diff) | |
Fixed #32234 -- Made inspectdb inform about composite primary keys.
Diffstat (limited to 'tests/inspectdb')
| -rw-r--r-- | tests/inspectdb/tests.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/inspectdb/tests.py b/tests/inspectdb/tests.py index 39d5b6cbe5..76c5e2b940 100644 --- a/tests/inspectdb/tests.py +++ b/tests/inspectdb/tests.py @@ -585,3 +585,32 @@ class InspectDBTransactionalTests(TransactionTestCase): ) cursor.execute("DROP SERVER IF EXISTS inspectdb_server") cursor.execute("DROP EXTENSION IF EXISTS file_fdw") + + @skipUnlessDBFeature("create_test_table_with_composite_primary_key") + def test_composite_primary_key(self): + table_name = "test_table_composite_pk" + with connection.cursor() as cursor: + cursor.execute( + connection.features.create_test_table_with_composite_primary_key + ) + out = StringIO() + if connection.vendor == "sqlite": + field_type = connection.features.introspected_field_types["AutoField"] + else: + field_type = connection.features.introspected_field_types["IntegerField"] + try: + call_command("inspectdb", table_name, stdout=out) + output = out.getvalue() + self.assertIn( + f"column_1 = models.{field_type}(primary_key=True) # The composite " + f"primary key (column_1, column_2) found, that is not supported. The " + f"first column is selected.", + output, + ) + self.assertIn( + "column_2 = models.IntegerField()", + output, + ) + finally: + with connection.cursor() as cursor: + cursor.execute("DROP TABLE %s" % table_name) |
