28 lines
914 B
Bash
Executable File
28 lines
914 B
Bash
Executable File
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
trap "rm -f ${TEMPFILE} ${CHECK_MIGRATIONS_SETTINGS}" EXIT
|
|
|
|
# https://stackoverflow.com/questions/49778988/makemigrations-in-dev-machine-without-database-instance
|
|
CHECK_MIGRATIONS_SETTINGS=`tempfile`
|
|
cat <<EOF >${CHECK_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"]))')
|
|
TEMPFILE=`tempfile`
|
|
|
|
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
|