Fix #685: Disable makemigrations in production and misleading message when running migrate

This commit is contained in:
Eliot Berriot 2019-01-26 21:59:21 +01:00
parent 264aa20db6
commit 78546232d0
No known key found for this signature in database
GPG key ID: DD6965E2476E5C27
3 changed files with 52 additions and 0 deletions

View file

@ -0,0 +1,22 @@
import os
from django.core.management.base import CommandError
from django.core.management.commands.makemigrations import Command as BaseCommand
class Command(BaseCommand):
def handle(self, *apps_label, **options):
"""
Running makemigrations in production can have desastrous consequences.
We ensure the command is disabled, unless a specific env var is provided.
"""
force = os.environ.get("FORCE") == "1"
if not force:
raise CommandError(
"Running makemigrations on your Funkwhale instance can have desastrous"
" consequences. This command is disabled, and should only be run in "
"development environments."
)
return super().handle(*apps_label, **options)