Skip to content

Commit 9872d5d

Browse files
authored
Update deploy_database.sh
1 parent fa09d37 commit 9872d5d

1 file changed

Lines changed: 37 additions & 26 deletions

File tree

Docker/scripts/deploy_database.sh

Lines changed: 37 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,43 @@
11
#!/bin/bash
2+
set -e
23

3-
source ./Docker/scripts/env_functions.sh
4+
update_env() {
5+
local key="$1" value="$2"
6+
[ -z "$value" ] && return
7+
grep -qE "^${key}=" .env 2>/dev/null && \
8+
sed -i "s|^${key}=.*|${key}=${value}|" .env || \
9+
echo "${key}=${value}" >> .env
10+
}
411

5-
if [ "$DOCKER_ENV" != "true" ]; then
6-
export_env_vars
12+
if [ -n "$DATABASE_PROVIDER" ]; then
13+
PROVIDER="$DATABASE_PROVIDER"
14+
else
15+
PROVIDER=$(grep -E '^DATABASE_PROVIDER=' .env | head -1 | cut -d'=' -f2 | tr -d '"' | tr -d "'" | tr -d ' ')
716
fi
817

9-
if [[ "$DATABASE_PROVIDER" == "postgresql" || "$DATABASE_PROVIDER" == "mysql" || "$DATABASE_PROVIDER" == "psql_bouncer" ]]; then
10-
export DATABASE_URL
11-
echo "Deploying migrations for $DATABASE_PROVIDER"
12-
echo "Database URL: $DATABASE_URL"
13-
# rm -rf ./prisma/migrations
14-
# cp -r ./prisma/$DATABASE_PROVIDER-migrations ./prisma/migrations
15-
npm run db:deploy
16-
if [ $? -ne 0 ]; then
17-
echo "Migration failed"
18-
exit 1
19-
else
20-
echo "Migration succeeded"
21-
fi
22-
npm run db:generate
23-
if [ $? -ne 0 ]; then
24-
echo "Prisma generate failed"
25-
exit 1
26-
else
27-
echo "Prisma generate succeeded"
28-
fi
29-
else
30-
echo "Error: Database provider $DATABASE_PROVIDER invalid."
31-
exit 1
18+
PROVIDER=$(echo "${PROVIDER:-postgresql}" | tr '[:upper:]' '[:lower:]')
19+
[ "$PROVIDER" = "psql_bouncer" ] && PRISMA_PROVIDER="postgresql" || PRISMA_PROVIDER="$PROVIDER"
20+
21+
update_env "DATABASE_PROVIDER" "$DATABASE_PROVIDER"
22+
update_env "DATABASE_ENABLED" "$DATABASE_ENABLED"
23+
update_env "SERVER_PORT" "$SERVER_PORT"
24+
update_env "AUTHENTICATION_API_KEY" "$AUTHENTICATION_API_KEY"
25+
update_env "CACHE_REDIS_ENABLED" "$CACHE_REDIS_ENABLED"
26+
update_env "CACHE_LOCAL_ENABLED" "$CACHE_LOCAL_ENABLED"
27+
28+
if [ -n "$DATABASE_CONNECTION_URI" ]; then
29+
update_env "DATABASE_CONNECTION_URI" "$DATABASE_CONNECTION_URI"
30+
elif [ -n "$DATABASE_CONNECTION_URL" ]; then
31+
update_env "DATABASE_CONNECTION_URI" "$DATABASE_CONNECTION_URL"
32+
elif [ -n "$DATABASE_URL" ]; then
33+
update_env "DATABASE_CONNECTION_URI" "$DATABASE_URL"
3234
fi
35+
36+
DB_URI=$(grep -E '^DATABASE_CONNECTION_URI=' .env | head -1 | cut -d'=' -f2-)
37+
[ -z "$DB_URI" ] && echo "ERRO: DATABASE_CONNECTION_URI não definido!" && exit 1
38+
39+
rm -rf ./prisma/migrations
40+
cp -r "./prisma/${PRISMA_PROVIDER}-migrations" ./prisma/migrations
41+
42+
npx prisma migrate deploy --schema "./prisma/${PRISMA_PROVIDER}-schema.prisma"
43+
echo "==> Migrations aplicadas!"

0 commit comments

Comments
 (0)