summaryrefslogtreecommitdiff
path: root/tests/postgres_tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests/postgres_tests')
-rw-r--r--tests/postgres_tests/array_default_migrations/0001_initial.py42
-rw-r--r--tests/postgres_tests/array_default_migrations/0002_integerarraymodel_field_2.py2
-rw-r--r--tests/postgres_tests/test_array.py14
3 files changed, 14 insertions, 44 deletions
diff --git a/tests/postgres_tests/array_default_migrations/0001_initial.py b/tests/postgres_tests/array_default_migrations/0001_initial.py
index 14734d3670..ebda628a5b 100644
--- a/tests/postgres_tests/array_default_migrations/0001_initial.py
+++ b/tests/postgres_tests/array_default_migrations/0001_initial.py
@@ -12,27 +12,7 @@ class Migration(migrations.Migration):
operations = [
migrations.CreateModel(
- name='CharArrayModel',
- fields=[
- ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
- ('field', django.contrib.postgres.fields.ArrayField(models.CharField(max_length=10), size=None)),
- ],
- options={
- },
- bases=(models.Model,),
- ),
- migrations.CreateModel(
- name='DateTimeArrayModel',
- fields=[
- ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
- ('field', django.contrib.postgres.fields.ArrayField(models.DateTimeField(), size=None)),
- ],
- options={
- },
- bases=(models.Model,),
- ),
- migrations.CreateModel(
- name='IntegerArrayModel',
+ name='IntegerArrayDefaultModel',
fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('field', django.contrib.postgres.fields.ArrayField(models.IntegerField(), size=None)),
@@ -41,24 +21,4 @@ class Migration(migrations.Migration):
},
bases=(models.Model,),
),
- migrations.CreateModel(
- name='NestedIntegerArrayModel',
- fields=[
- ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
- ('field', django.contrib.postgres.fields.ArrayField(django.contrib.postgres.fields.ArrayField(models.IntegerField(), size=None), size=None)),
- ],
- options={
- },
- bases=(models.Model,),
- ),
- migrations.CreateModel(
- name='NullableIntegerArrayModel',
- fields=[
- ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
- ('field', django.contrib.postgres.fields.ArrayField(models.IntegerField(), size=None, null=True, blank=True)),
- ],
- options={
- },
- bases=(models.Model,),
- ),
]
diff --git a/tests/postgres_tests/array_default_migrations/0002_integerarraymodel_field_2.py b/tests/postgres_tests/array_default_migrations/0002_integerarraymodel_field_2.py
index 0ee5a83c5e..9526a96735 100644
--- a/tests/postgres_tests/array_default_migrations/0002_integerarraymodel_field_2.py
+++ b/tests/postgres_tests/array_default_migrations/0002_integerarraymodel_field_2.py
@@ -13,7 +13,7 @@ class Migration(migrations.Migration):
operations = [
migrations.AddField(
- model_name='integerarraymodel',
+ model_name='integerarraydefaultmodel',
name='field_2',
field=django.contrib.postgres.fields.ArrayField(models.IntegerField(), default=[], size=None),
preserve_default=False,
diff --git a/tests/postgres_tests/test_array.py b/tests/postgres_tests/test_array.py
index 8edc78d65c..770d5a1623 100644
--- a/tests/postgres_tests/test_array.py
+++ b/tests/postgres_tests/test_array.py
@@ -9,7 +9,7 @@ from django.contrib.postgres.forms import SimpleArrayField, SplitArrayField
from django.core import exceptions, serializers
from django.core.management import call_command
from django.db import IntegrityError, connection, models
-from django.test import TestCase, override_settings
+from django.test import TestCase, TransactionTestCase, override_settings
from django.utils import timezone
from .models import (
@@ -243,7 +243,9 @@ class TestChecks(TestCase):
self.assertEqual(errors[0].id, 'postgres.E002')
-class TestMigrations(TestCase):
+class TestMigrations(TransactionTestCase):
+
+ available_apps = ['postgres_tests']
def test_deconstruct(self):
field = ArrayField(models.IntegerField())
@@ -278,7 +280,15 @@ class TestMigrations(TestCase):
})
def test_adding_field_with_default(self):
# See #22962
+ table_name = 'postgres_tests_integerarraydefaultmodel'
+ with connection.cursor() as cursor:
+ self.assertNotIn(table_name, connection.introspection.table_names(cursor))
call_command('migrate', 'postgres_tests', verbosity=0)
+ with connection.cursor() as cursor:
+ self.assertIn(table_name, connection.introspection.table_names(cursor))
+ call_command('migrate', 'postgres_tests', 'zero', verbosity=0)
+ with connection.cursor() as cursor:
+ self.assertNotIn(table_name, connection.introspection.table_names(cursor))
@unittest.skipUnless(connection.vendor == 'postgresql', 'PostgreSQL required')