#!/command/with-contenv /usr/bin/bash
# shellcheck shell=bash
declare -r log_prefix="[init-migrations]"

declare -r data_dir="${PAPERLESS_DATA_DIR:-/usr/src/paperless/data}"

echo "${log_prefix} Apply database migrations..."

cd "${PAPERLESS_SRC_DIR}"

# The whole migrate, with flock, needs to run as the right user
if [[ -n "${USER_IS_NON_ROOT}" ]]; then
	python3 manage.py check --tag compatibility paperless || exit 1
	exec s6-setlock -n "${data_dir}/migration_lock" python3 manage.py migrate --skip-checks --no-input
else
	s6-setuidgid paperless python3 manage.py check --tag compatibility paperless  || exit 1
	exec s6-setuidgid paperless \
		s6-setlock -n "${data_dir}/migration_lock" \
		python3 manage.py migrate --skip-checks --no-input
fi
