fix: drop sys_menu while upgrade

This commit is contained in:
2024-10-15 15:12:42 +08:00
parent b0db83a0a9
commit 75b623403f
2 changed files with 108 additions and 109 deletions

View File

@@ -1,6 +1,5 @@
SET FOREIGN_KEY_CHECKS=0; SET FOREIGN_KEY_CHECKS=0;
DROP TABLE IF EXISTS `sys_menu`;
CREATE TABLE IF NOT EXISTS `sys_dept` ( CREATE TABLE IF NOT EXISTS `sys_dept` (
`dept_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '部门id', `dept_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '部门id',
`parent_id` bigint(20) DEFAULT 0 COMMENT '父部门id 默认0', `parent_id` bigint(20) DEFAULT 0 COMMENT '父部门id 默认0',

View File

@@ -14,105 +14,105 @@ create_db_sql="create database IF NOT EXISTS ${DBNAME}"
case "$1" in case "$1" in
upgrade) upgrade)
echo "Upgrade database ${DBNAME}" echo "Upgrade database ${DBNAME}"
for SQL in ${UpgradeSQLDir}/*.sql; do for SQL in ${UpgradeSQLDir}/*.sql; do
echo -n "Execute SQL script: ${SQL} ..." echo -n "Execute SQL script: ${SQL} ..."
mysql -u${USER} -p${PASSWORD} -P ${PORT} -h ${HOST} --protocol tcp -D ${DBNAME} < ${SQL}; mysql -u${USER} -p${PASSWORD} -P ${PORT} -h ${HOST} --protocol tcp -D ${DBNAME} < ${SQL};
if [ $? = 0 ]; then if [ $? = 0 ]; then
echo "done" echo "done"
fi fi
done done
;; ;;
upgvue3) upgvue3)
echo "Upgrade to vue3 database ${DBNAME}" echo "Upgrade to vue3 database ${DBNAME}"
for SQL in ${Upgvue3SQLDir}/*.sql; do for SQL in ${Upgvue3SQLDir}/*.sql; do
echo -n "Execute SQL script: ${SQL} ..." echo -n "Execute SQL script: ${SQL} ..."
mysql -u${USER} -p${PASSWORD} -P ${PORT} -h ${HOST} --protocol tcp -D ${DBNAME} < ${SQL}; mysql -u${USER} -p${PASSWORD} -P ${PORT} -h ${HOST} --protocol tcp -D ${DBNAME} < ${SQL};
if [ $? = 0 ]; then if [ $? = 0 ]; then
echo "done" echo "done"
fi fi
done done
;; ;;
install) install)
echo "Drop database ${DBNAME} ...!!!" echo "Drop database ${DBNAME} ...!!!"
mysql -u${USER} -p${PASSWORD} -P $PORT -h ${HOST} --protocol tcp -e "${drop_db_sql}" mysql -u${USER} -p${PASSWORD} -P $PORT -h ${HOST} --protocol tcp -e "${drop_db_sql}"
echo "Create database ${DBNAME} if not exist" echo "Create database ${DBNAME} if not exist"
mysql -u${USER} -p${PASSWORD} -P $PORT -h ${HOST} --protocol tcp -e "${create_db_sql}" mysql -u${USER} -p${PASSWORD} -P $PORT -h ${HOST} --protocol tcp -e "${create_db_sql}"
for SQL in ${InstallSQLDir}/*.sql; do for SQL in ${InstallSQLDir}/*.sql; do
echo -n "Execute SQL script: ${SQL} ..." echo -n "Execute SQL script: ${SQL} ..."
mysql -u${USER} -p${PASSWORD} -P ${PORT} -h ${HOST} --protocol tcp -D ${DBNAME} < ${SQL}; mysql -u${USER} -p${PASSWORD} -P ${PORT} -h ${HOST} --protocol tcp -D ${DBNAME} < ${SQL};
if [ $? = 0 ]; then if [ $? = 0 ]; then
echo "done" echo "done"
fi fi
done done
;; ;;
*) *)
while true while true
do do
read -r -p "Do you upgrade or upgrade from layui to vue3 or fresh install database ${DBNAME}? [Upgrade/upgVue3/Install/Quit] " input read -r -p "Do you upgrade or upgrade from layui to vue3 or fresh install database ${DBNAME}? [Upgrade/upgVue3/Install/Quit] " input
case $input in case $input in
[uU][pP][gG][rR][aA][dD][eE]|[uU]) [uU][pP][gG][rR][aA][dD][eE]|[uU])
echo "Skip to drop database ${DBNAME}" echo "Skip to drop database ${DBNAME}"
echo "Upgrade database ${DBNAME}" echo "Upgrade database ${DBNAME}"
for SQL in ${UpgradeSQLDir}/*.sql; do for SQL in ${UpgradeSQLDir}/*.sql; do
echo -n "Execute SQL script: ${SQL} ..." echo -n "Execute SQL script: ${SQL} ..."
mysql -u${USER} -p${PASSWORD} -P ${PORT} -h ${HOST} --protocol tcp -D ${DBNAME} < ${SQL}; mysql -u${USER} -p${PASSWORD} -P ${PORT} -h ${HOST} --protocol tcp -D ${DBNAME} < ${SQL};
if [ $? = 0 ]; then if [ $? = 0 ]; then
echo "done" echo "done"
fi fi
done done
break break
;; ;;
[uU][pP][gG][vV][uU][eE][3]|[vV]]) [uU][pP][gG][vV][uU][eE][3]|[vV]])
echo "Skip to drop database ${DBNAME}" echo "Skip to drop database ${DBNAME}"
echo "Upgrade to vue3 database ${DBNAME}" echo "Upgrade to vue3 database ${DBNAME}"
for SQL in ${Upgvue3SQLDir}/*.sql; do for SQL in ${Upgvue3SQLDir}/*.sql; do
echo -n "Execute SQL script: ${SQL} ..." echo -n "Execute SQL script: ${SQL} ..."
mysql -u${USER} -p${PASSWORD} -P ${PORT} -h ${HOST} --protocol tcp -D ${DBNAME} < ${SQL}; mysql -u${USER} -p${PASSWORD} -P ${PORT} -h ${HOST} --protocol tcp -D ${DBNAME} < ${SQL};
if [ $? = 0 ]; then if [ $? = 0 ]; then
echo "done" echo "done"
fi fi
done done
break break
;; ;;
[iI][nN][sS][tT][aA][lL][lL]|[iI]) [iI][nN][sS][tT][aA][lL][lL]|[iI])
echo "Drop database ${DBNAME} ...!!!" echo "Drop database ${DBNAME} ...!!!"
mysql -u${USER} -p${PASSWORD} -P $PORT -h ${HOST} --protocol tcp -e "${drop_db_sql}" mysql -u${USER} -p${PASSWORD} -P $PORT -h ${HOST} --protocol tcp -e "${drop_db_sql}"
echo "Create database ${DBNAME} if not exist" echo "Create database ${DBNAME} if not exist"
mysql -u${USER} -p${PASSWORD} -P $PORT -h ${HOST} --protocol tcp -e "${create_db_sql}" mysql -u${USER} -p${PASSWORD} -P $PORT -h ${HOST} --protocol tcp -e "${create_db_sql}"
for SQL in ${InstallSQLDir}/*.sql; do for SQL in ${InstallSQLDir}/*.sql; do
echo -n "Execute SQL script: ${SQL} ..." echo -n "Execute SQL script: ${SQL} ..."
mysql -u${USER} -p${PASSWORD} -P ${PORT} -h ${HOST} --protocol tcp -D ${DBNAME} < ${SQL}; mysql -u${USER} -p${PASSWORD} -P ${PORT} -h ${HOST} --protocol tcp -D ${DBNAME} < ${SQL};
if [ $? = 0 ]; then if [ $? = 0 ]; then
echo "done" echo "done"
fi fi
done done
break break
;; ;;
[qQ][uU][iI][tT]|[qQ]) [qQ][uU][iI][tT]|[qQ])
echo "Nothing to be done! GOOD BYE" echo "Nothing to be done! GOOD BYE"
exit 1; exit 1;
;; ;;
*) *)
echo "Invalid input..." echo "Invalid input..."
;; ;;
esac esac
done done
;; ;;
esac esac
@@ -121,34 +121,34 @@ ne_types=$(mysql -u${USER} -p${PASSWORD} -P ${PORT} -h ${HOST} --protocol tcp -D
for ne_type in ${ne_types}; do for ne_type in ${ne_types}; do
TABLE_NAME="kpi_report_${ne_type}" TABLE_NAME="kpi_report_${ne_type}"
SQL="CREATE TABLE IF NOT EXISTS ${TABLE_NAME} LIKE \`kpi_report\`;" SQL="CREATE TABLE IF NOT EXISTS ${TABLE_NAME} LIKE \`kpi_report\`;"
echo -n "Create table: ${TABLE_NAME} ..." echo -n "Create table: ${TABLE_NAME} ..."
mysql -u${USER} -p${PASSWORD} -P ${PORT} -h ${HOST} --protocol tcp -D ${DBNAME} -e "${SQL}" mysql -u${USER} -p${PASSWORD} -P ${PORT} -h ${HOST} --protocol tcp -D ${DBNAME} -e "${SQL}"
if [ $? = 0 ]; then if [ $? = 0 ]; then
echo "done" echo "done"
fi fi
SQL="ALTER TABLE ${TABLE_NAME} ADD INDEX IF NOT EXISTS \`idx_timestamp\`(\`created_at\`) USING BTREE, ADD INDEX IF NOT EXISTS \`idx_uid_datetime\`(\`rm_uid\`, \`date\`, \`start_time\`) USING BTREE;" SQL="ALTER TABLE ${TABLE_NAME} ADD INDEX IF NOT EXISTS \`idx_timestamp\`(\`created_at\`) USING BTREE, ADD INDEX IF NOT EXISTS \`idx_uid_datetime\`(\`rm_uid\`, \`date\`, \`start_time\`) USING BTREE;"
echo -n "Create index of ${TABLE_NAME} ..." echo -n "Create index of ${TABLE_NAME} ..."
mysql -u${USER} -p${PASSWORD} -P ${PORT} -h ${HOST} --protocol tcp -D ${DBNAME} -e "${SQL}" mysql -u${USER} -p${PASSWORD} -P ${PORT} -h ${HOST} --protocol tcp -D ${DBNAME} -e "${SQL}"
if [ $? = 0 ]; then if [ $? = 0 ]; then
echo "done" echo "done"
fi fi
SQL="ALTER TABLE ${TABLE_NAME} ADD INDEX IF NOT EXISTS \`idx_timestamp\`(\`created_at\`) USING BTREE,ADD INDEX IF NOT EXISTS \`idx_uid_datetime\`(\`rm_uid\`, \`date\`, \`start_time\`) USING BTREE;" SQL="ALTER TABLE ${TABLE_NAME} ADD INDEX IF NOT EXISTS \`idx_timestamp\`(\`created_at\`) USING BTREE,ADD INDEX IF NOT EXISTS \`idx_uid_datetime\`(\`rm_uid\`, \`date\`, \`start_time\`) USING BTREE;"
echo -n "Create index of ${TABLE_NAME} ..." echo -n "Create index of ${TABLE_NAME} ..."
mysql -u${USER} -p${PASSWORD} -P ${PORT} --protocol tcp -D ${DBNAME} -e "${SQL}" mysql -u${USER} -p${PASSWORD} -P ${PORT} --protocol tcp -D ${DBNAME} -e "${SQL}"
if [ $? = 0 ]; then if [ $? = 0 ]; then
echo "done" echo "done"
fi fi
SQL="ALTER TABLE ${TABLE_NAME} ADD COLUMN IF NOT EXISTS \`tenant_id\` varchar(32) NULL DEFAULT NULL AFTER \`created_at\`;" SQL="ALTER TABLE ${TABLE_NAME} ADD COLUMN IF NOT EXISTS \`tenant_id\` varchar(32) NULL DEFAULT NULL AFTER \`created_at\`;"
echo -n "Alter table ${TABLE_NAME} ..." echo -n "Alter table ${TABLE_NAME} ..."
mysql -u${USER} -p${PASSWORD} -P ${PORT} --protocol tcp -D ${DBNAME} -e "${SQL}" mysql -u${USER} -p${PASSWORD} -P ${PORT} --protocol tcp -D ${DBNAME} -e "${SQL}"
if [ $? = 0 ]; then if [ $? = 0 ]; then
echo "done" echo "done"
fi fi
TABLE_NAME="kpi_c_report_${ne_type}" TABLE_NAME="kpi_c_report_${ne_type}"
SQL="CREATE TABLE IF NOT EXISTS ${TABLE_NAME} LIKE \`kpi_c_report\`;" SQL="CREATE TABLE IF NOT EXISTS ${TABLE_NAME} LIKE \`kpi_c_report\`;"
echo -n "Create table: ${TABLE_NAME} ..." echo -n "Create table: ${TABLE_NAME} ..."
mysql -u${USER} -p${PASSWORD} -P ${PORT} -h ${HOST} --protocol tcp -D ${DBNAME} -e "${SQL}" mysql -u${USER} -p${PASSWORD} -P ${PORT} -h ${HOST} --protocol tcp -D ${DBNAME} -e "${SQL}"
if [ $? = 0 ]; then if [ $? = 0 ]; then
echo "done" echo "done"
fi fi
done done