-
Notifications
You must be signed in to change notification settings - Fork 0
/
entrypoint.sh
executable file
·41 lines (34 loc) · 1.63 KB
/
entrypoint.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/bin/bash
# Espera o banco de dados ficar pronto
echo "Aguardando o banco de dados ficar pronto..."
while ! nc -z db 3306; do
sleep 1
done
echo "Banco de dados pronto!"
# Cria o usuário e concede privilégios totais
echo "Criando usuário de banco de dados e concedendo privilégios..."
mysql -u root -p'senha123' -h db -e "CREATE USER IF NOT EXISTS 'euvitorr'@'%' IDENTIFIED BY 'euvitorr'; FLUSH PRIVILEGES;"
echo "Criando o banco de dados se ele ainda não existir..."
mysql -u euvitorr -peuvitorr -h db -e "CREATE DATABASE IF NOT EXISTS bible CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
# Aplica migrações
echo "Aplicando migrações..."
python manage.py migrate
# Carrega os dados iniciais
if [ $(python manage.py shell -c "from django.apps import apps; print(apps.get_model('biblia.Book').objects.count())") -eq 0 ]; then
echo "Carregando dados iniciais..."
python manage.py loaddata backup_myapp.json
else
echo "Dados iniciais já carregados."
fi
# Cria um superusuário automaticamente se ele ainda não existir
echo "Verificando a existência do superusuário..."
SUPERUSER_EXISTS=$(python manage.py shell -c "from django.contrib.auth.models import User; print(User.objects.filter(username='root').exists())")
if [ "$SUPERUSER_EXISTS" = "False" ]; then
echo "Criando superusuário..."
echo "from django.contrib.auth import get_user_model; User = get_user_model(); User.objects.create_superuser('root', '[email protected]', '1')" | python manage.py shell
else
echo "Superusuário já existe."
fi
# Inicia o servidor de aplicação
echo "Iniciando o servidor de aplicação..."
python manage.py runserver 0.0.0.0:8000