@@ -15,7 +15,7 @@ source /opt/netbox/venv/bin/activate
15
15
DB_WAIT_TIMEOUT=${DB_WAIT_TIMEOUT-3}
16
16
MAX_DB_WAIT_TIME=${MAX_DB_WAIT_TIME-30}
17
17
CUR_DB_WAIT_TIME=0
18
- while ! ./manage.py migrate 2>&1 && [ " ${CUR_DB_WAIT_TIME} " -lt " ${MAX_DB_WAIT_TIME} " ]; do
18
+ while ! ./manage.py showmigrations > /dev/null 2>&1 && [ " ${CUR_DB_WAIT_TIME} " -lt " ${MAX_DB_WAIT_TIME} " ]; do
19
19
echo " ⏳ Waiting on DB... (${CUR_DB_WAIT_TIME} s / ${MAX_DB_WAIT_TIME} s)"
20
20
sleep " ${DB_WAIT_TIMEOUT} "
21
21
CUR_DB_WAIT_TIME=$(( CUR_DB_WAIT_TIME + DB_WAIT_TIMEOUT))
@@ -24,6 +24,19 @@ if [ "${CUR_DB_WAIT_TIME}" -ge "${MAX_DB_WAIT_TIME}" ]; then
24
24
echo " ❌ Waited ${MAX_DB_WAIT_TIME} s or more for the DB to become ready."
25
25
exit 1
26
26
fi
27
+ # Check if update is needed
28
+ if ! ./manage.py migrate --check > /dev/null 2>&1 ; then
29
+ echo " ⚙️ Applying database migrations"
30
+ ./manage.py migrate --no-input
31
+ echo " ⚙️ Running trace_paths"
32
+ ./manage.py trace_paths --no-input
33
+ echo " ⚙️ Removing stale content types"
34
+ ./manage.py remove_stale_contenttypes --no-input
35
+ echo " ⚙️ Removing expired user sessions"
36
+ ./manage.py clearsessions
37
+ echo " ⚙️ Clearing cache data"
38
+ ./manage.py invalidate all
39
+ fi
27
40
28
41
# Create Superuser if required
29
42
if [ " $SKIP_SUPERUSER " == " true" ]; then
0 commit comments