Skip to content

Commit 421d841

Browse files
committed
DB JSON field: use null=True and blank=True on new fields
This avoid taking down db production when running the migration.
1 parent b4abcad commit 421d841

File tree

4 files changed

+16
-8
lines changed

4 files changed

+16
-8
lines changed

readthedocs/builds/migrations/0038_add_new_jsonfields.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@ class Migration(migrations.Migration):
1313
migrations.AddField(
1414
model_name='build',
1515
name='_config_json',
16-
field=models.JSONField(default=dict, verbose_name='Configuration used in the build'),
16+
field=models.JSONField(null=True, blank=True, verbose_name='Configuration used in the build'),
1717
),
1818
]

readthedocs/builds/models.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -663,7 +663,11 @@ class Build(models.Model):
663663
blank=True,
664664
)
665665
_config = JSONField(_('Configuration used in the build'), default=dict)
666-
_config_json = models.JSONField(_('Configuration used in the build'), default=dict)
666+
_config_json = models.JSONField(
667+
_('Configuration used in the build'),
668+
null=True,
669+
blank=True,
670+
)
667671

668672
length = models.IntegerField(_('Build Length'), null=True, blank=True)
669673

readthedocs/integrations/migrations/0008_add_new_jsonfields.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,16 @@ class Migration(migrations.Migration):
1313
migrations.AddField(
1414
model_name='httpexchange',
1515
name='request_headers_json',
16-
field=models.JSONField(default=None, null=True, verbose_name='Request headers'),
16+
field=models.JSONField(null=True, blank=True, verbose_name='Request headers'),
1717
),
1818
migrations.AddField(
1919
model_name='httpexchange',
2020
name='response_headers_json',
21-
field=models.JSONField(default=None, null=True, verbose_name='Request headers'),
21+
field=models.JSONField(null=True, blank==True, verbose_name='Request headers'),
2222
),
2323
migrations.AddField(
2424
model_name='integration',
2525
name='provider_data_json',
26-
field=models.JSONField(default=dict, verbose_name='Provider data'),
26+
field=models.JSONField(null=True, blank=True, verbose_name='Provider data'),
2727
),
2828
]

readthedocs/integrations/models.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ class HttpExchange(models.Model):
149149
_('Request headers'),
150150
# Delete after deploy
151151
null=True,
152-
default=None,
152+
blank=True,
153153
)
154154
request_body = models.TextField(_('Request body'))
155155

@@ -158,7 +158,7 @@ class HttpExchange(models.Model):
158158
_('Request headers'),
159159
# Delete after deploy
160160
null=True,
161-
default=None,
161+
blank=True,
162162
)
163163
response_body = models.TextField(_('Response body'))
164164

@@ -299,7 +299,11 @@ class Integration(models.Model):
299299
choices=INTEGRATIONS,
300300
)
301301
provider_data = JSONField(_('Provider data'), default=dict)
302-
provider_data_json = models.JSONField(_('Provider data'), default=dict)
302+
provider_data_json = models.JSONField(
303+
_('Provider data'),
304+
null=True,
305+
blank=True,
306+
)
303307
exchanges = GenericRelation(
304308
'HttpExchange',
305309
related_query_name='integrations',

0 commit comments

Comments
 (0)