Skip to content

Commit ec69181

Browse files
committed
docker: retry running migrations if postgresql is not already up
1 parent bcd8c0c commit ec69181

File tree

1 file changed

+20
-1
lines changed

1 file changed

+20
-1
lines changed

docker-entrypoint.sh

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,26 @@ export DOCS_RS_DOCKER=true
77
export RUST_LOG=cratesfyi,rustwide=info
88
export PATH="$PATH:/build/target/release"
99

10-
cratesfyi database migrate
10+
# Try migrating the database multiple times if it fails
11+
# This avoids the docker container crashing the first time it's started with
12+
# docker-compose, as PostgreSQL needs some time to initialize.
13+
set +e
14+
failed=0
15+
while true; do
16+
if ! cratesfyi database migrate; then
17+
((failed=failed + 1))
18+
if [ "${failed}" -eq 5 ]; then
19+
exit 1
20+
fi
21+
echo "failed to migrate the database"
22+
echo "waiting 1 second..."
23+
sleep 1
24+
else
25+
break
26+
fi
27+
done
28+
set -e
29+
1130
cratesfyi database update-search-index
1231
cratesfyi database update-release-activity
1332

0 commit comments

Comments
 (0)