feat: local 전용 db migration bash script 작성
This commit is contained in:
18
db/README.md
18
db/README.md
@@ -3,8 +3,10 @@
|
||||
- flyway version: `9.15.4`
|
||||
- [flyway doc](https://documentation.red-gate.com/fd/flyway-documentation-138346877.html)
|
||||
|
||||
## :pushpin: Installation
|
||||
<br>
|
||||
|
||||
## :pushpin: Installation(Local)
|
||||
LOCAL 환경에 해당
|
||||
```shell
|
||||
$ brew install flyway
|
||||
```
|
||||
@@ -39,4 +41,16 @@ $ flyway migrate -configFiles=db/flyway.conf
|
||||
DB에 적용된 migration과 local에 적용된 migration 정보 일치 여부 체크
|
||||
```bash
|
||||
$ flyway validate -configFiles=db/flyway.conf
|
||||
```
|
||||
```
|
||||
|
||||
<br>
|
||||
|
||||
## :pushpin: Migration for Local Env
|
||||
|
||||
```shell
|
||||
$ cd [PROJECT_ROOT_DIR]
|
||||
|
||||
$ chmod 755 ./script/migration-local.sh
|
||||
$ ./script/migration-local.sh
|
||||
```
|
||||
project의 root directory로 이동하는 것이 중요
|
||||
39
script/migration-local.sh
Executable file
39
script/migration-local.sh
Executable file
@@ -0,0 +1,39 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo -e "########### [LOCAL] DB Migration ###########"
|
||||
printf "\n"
|
||||
|
||||
PROJECT_NAME="dongne-cafe-api"
|
||||
PROJECT_ROOT_DIR=$(pwd)
|
||||
FLYWAY_CONFIG_FILE="flyway-local.conf"
|
||||
|
||||
if [[ $PROJECT_ROOT_DIR != *"/$PROJECT_NAME" ]];
|
||||
then
|
||||
echo "Error >> move to project's root directory"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Project's Root Directory: $PROJECT_ROOT_DIR"
|
||||
printf "\n"
|
||||
|
||||
echo "###################################"
|
||||
echo "Using Flyway Version"
|
||||
|
||||
if ! flyway --version 2> /dev/null;
|
||||
then
|
||||
echo "Error >> Flyway Not Supported"
|
||||
exit 1
|
||||
fi
|
||||
echo "###################################"
|
||||
printf "\n"
|
||||
|
||||
echo "1. Flyway Info"
|
||||
flyway info -configFiles="$PROJECT_ROOT_DIR/db/$FLYWAY_CONFIG_FILE"
|
||||
printf "\n"
|
||||
|
||||
echo "2. Flyway Migrate"
|
||||
flyway migrate -configFiles="$PROJECT_ROOT_DIR/db/$FLYWAY_CONFIG_FILE"
|
||||
printf "\n"
|
||||
|
||||
echo "3. Flyway Validate"
|
||||
flyway validate -configFiles="$PROJECT_ROOT_DIR/db/$FLYWAY_CONFIG_FILE"
|
||||
Reference in New Issue
Block a user