[#41] feat: migration local용 shell script 수정

This commit is contained in:
beaniejoy
2023-04-11 23:23:10 +09:00
parent 49e19666b2
commit ac40f5b42a

View File

@@ -1,39 +1,60 @@
#!/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
check_project_root_path() {
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 -e "Project's Root Directory: $PROJECT_ROOT_DIR\n"
}
echo "###################################"
echo "Using Flyway Version"
flyway_version_check() {
echo "###################################"
echo "Using Flyway Version"
if ! flyway --version 2> /dev/null;
then
echo "Error >> Flyway Not Supported"
exit 1
fi
echo "###################################"
printf "\n"
if ! flyway --version 2> /dev/null;
then
echo "Error >> Flyway Not Supported"
exit 1
fi
echo -e "###################################\n"
}
echo "1. Flyway Info"
flyway info -configFiles="$PROJECT_ROOT_DIR/db/$FLYWAY_CONFIG_FILE"
printf "\n"
error_check() {
if [ $? -ne 0 ];
then
echo "Error >> $1 & Exit"
exit 1
fi
echo "2. Flyway Migrate"
flyway migrate -configFiles="$PROJECT_ROOT_DIR/db/$FLYWAY_CONFIG_FILE" -outputType=json
printf "\n"
printf "\n"
}
echo "3. Flyway Validate"
flyway validate -configFiles="$PROJECT_ROOT_DIR/db/$FLYWAY_CONFIG_FILE" -outputType=json
flyway_migration_process() {
STEP_1="1. Flyway Info"
STEP_2="2. Flyway Migrate"
STEP_3="3. Flyway Validate"
echo $STEP_1
flyway info -configFiles="$PROJECT_ROOT_DIR/db/$FLYWAY_CONFIG_FILE"
error_check "$STEP_1"
echo $STEP_2
flyway migrate -configFiles="$PROJECT_ROOT_DIR/db/$FLYWAY_CONFIG_FILE" -outputType=json
error_check "$STEP_2"
echo $STEP_3
flyway validate -configFiles="$PROJECT_ROOT_DIR/db/$FLYWAY_CONFIG_FILE" -outputType=json
error_check "$STEP_3"
}
echo "########### [LOCAL] DB Migration ###########"
check_project_root_path
flyway_version_check
flyway_migration_process