[#41] feat: migration local용 shell script 수정
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user