2020-08-13 15:43:09 +02:00
#!/bin/bash
2020-05-05 13:18:46 +02:00
set -e
# https://stackoverflow.com/questions/49778988/makemigrations-in-dev-machine-without-database-instance
2020-08-18 15:17:57 +02:00
CHECK_MIGRATIONS_SETTINGS = ` mktemp`
trap " rm -f ${ CHECK_MIGRATIONS_SETTINGS } " EXIT
2020-05-05 13:18:46 +02:00
cat <<EOF >${CHE CK_MIGRATIONS_SETTINGS}
DATABASES = {
'default' : {
'ENGINE' : 'django.db.backends.dummy' ,
}
}
EOF
APPS = $( env DJANGO_SETTINGS_MODULE = authentic2.settings python -c 'from django.conf import settings; print(" ".join(p for p in (p.split(".")[-1] for p in settings.INSTALLED_APPS if not p.startswith("django.")) if p not in ["admin", "auth", "contenttypes"]))' )
2020-08-18 15:17:57 +02:00
TEMPFILE = ` mktemp`
trap " rm -f ${ TEMPFILE } ${ CHECK_MIGRATIONS_SETTINGS } " EXIT
2020-05-05 13:18:46 +02:00
AUTHENTIC2_SETTINGS_FILE = ${ CHECK_MIGRATIONS_SETTINGS } ./authentic2-ctl makemigrations --dry-run --noinput ${ APPS } >${ TEMPFILE } 2>& 1 || true
if ! grep 'No changes detected' -q ${ TEMPFILE } ; then
echo '!!! Missing migration detected !!!'
cat ${ TEMPFILE }
exit 1
else
exit 0
fi