-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdatabase-setup.sh
More file actions
executable file
·58 lines (48 loc) · 1.25 KB
/
database-setup.sh
File metadata and controls
executable file
·58 lines (48 loc) · 1.25 KB
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/bin/bash
set -e
cd "$(dirname "${BASH_SOURCE[0]}")"
# macOS/GNU sed 호환 in-place 치환
sedi() {
if sed --version >/dev/null 2>&1; then
sed -i "$@"
else
sed -i '' "$@"
fi
}
echo ""
echo "Database를 선택하세요:"
echo " 1) PostgreSQL (기본)"
echo " 2) MySQL"
echo ""
read -p "선택 [1]: " choice
case "${choice:-1}" in
1) db="pgsql" ;;
2) db="mysql" ;;
*)
echo "잘못된 선택입니다."
exit 1
;;
esac
# compose.yaml 복사
cp "stubs/docker/compose.${db}.yaml" compose.yaml
echo "compose.yaml -> ${db} 설정 적용"
# .env 파일이 없으면 .env.example에서 복사
if [ ! -f .env ]; then
cp .env.example .env
echo ".env 파일 생성"
fi
# DB 설정 치환
if [ "$db" = "mysql" ]; then
sedi 's/^DB_CONNECTION=.*/DB_CONNECTION=mysql/' .env .env.example
sedi 's/^DB_HOST=.*/DB_HOST=mysql/' .env .env.example
sedi 's/^DB_PORT=.*/DB_PORT=3306/' .env .env.example
else
sedi 's/^DB_CONNECTION=.*/DB_CONNECTION=pgsql/' .env .env.example
sedi 's/^DB_HOST=.*/DB_HOST=pgsql/' .env .env.example
sedi 's/^DB_PORT=.*/DB_PORT=5432/' .env .env.example
fi
# 셋업 파일 정리
rm -rf stubs
rm -f database-setup.sh
echo ""
echo "${db} 설정이 완료되었습니다."