mirror of https://github.com/interlegis/sapl.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
1.1 KiB
36 lines
1.1 KiB
#!/bin/bash
|
|
|
|
falha ()
|
|
{
|
|
NC='\033[0m'
|
|
RED='\033[0;31m'
|
|
echo
|
|
echo -e "${RED}ALGUMAS ALTERAÇÕES EXIGEM MIGRAÇÃO.${NC}"
|
|
echo -e "${RED}RODE 'python manage.py makemigrations' ANTES DE SUBMETER SEU CÓDIGO...${NC}"
|
|
echo -e "${RED}lembre de adicionar os arquivos criados ao git com 'git add .' ou semelhante.${NC}"
|
|
echo
|
|
exit 1
|
|
}
|
|
|
|
# se há algum model no commit
|
|
if git diff --cached --name-status | grep -q '^M.*models\.py$'; then
|
|
# deve haver alguma migration nova no commit
|
|
if ! git diff --cached --name-status | grep -q '^A.*/migrations/[[:digit:]]\{4\}_.*\.py$'; then
|
|
falha
|
|
fi
|
|
fi
|
|
|
|
# a verificação de migrations pendentes deve passar
|
|
|
|
# TODO: Após migrar para Django 1.10 usar
|
|
#
|
|
# ./manage.py makemigrations --check --dry-run
|
|
#
|
|
# ATENÇÃO: a chamada atual termina com exit 1 se NÃO HÁ migração a ser aplicada
|
|
# ou seja, termina com "erro" se está tudo bem!
|
|
# A chamada do django 1.10 INVERTE ISSO.
|
|
#
|
|
# https://docs.djangoproject.com/en/1.10/ref/django-admin/#cmdoption-makemigrations-check
|
|
if python manage.py makemigrations --dry-run --exit > /dev/null; then
|
|
falha
|
|
fi
|