152 lines
4.1 KiB
Plaintext
152 lines
4.1 KiB
Plaintext
|
|
@echo off
|
||
|
|
chcp 437
|
||
|
|
setlocal enabledelayedexpansion
|
||
|
|
|
||
|
|
set DEPLOY_DIR=%~dp0..\deploy
|
||
|
|
set DB_NAME=seeyon_fs
|
||
|
|
|
||
|
|
if "%~1"=="" (
|
||
|
|
echo Usage: deploy.bat 1/2/3/4
|
||
|
|
echo 1=MySQL 2=PostgreSQL 3=SQLServer 4=Oracle
|
||
|
|
pause >nul
|
||
|
|
exit /b 1
|
||
|
|
)
|
||
|
|
set DB_TYPE=%~1
|
||
|
|
|
||
|
|
echo.
|
||
|
|
echo ================================
|
||
|
|
echo Build DB type: %DB_TYPE%
|
||
|
|
echo ================================
|
||
|
|
echo.
|
||
|
|
|
||
|
|
echo Remove old deploy...
|
||
|
|
if exist %DEPLOY_DIR% rmdir /s /q %DEPLOY_DIR%
|
||
|
|
|
||
|
|
mkdir %DEPLOY_DIR%\data\storage\hot 2>nul
|
||
|
|
mkdir %DEPLOY_DIR%\data\storage\cold 2>nul
|
||
|
|
mkdir %DEPLOY_DIR%\data\storage\public 2>nul
|
||
|
|
mkdir %DEPLOY_DIR%\data\storage\slave 2>nul
|
||
|
|
|
||
|
|
echo Building...
|
||
|
|
set GOPROXY=https://goproxy.cn
|
||
|
|
go build -ldflags="-s -w" -o %DEPLOY_DIR%\server.exe main.go
|
||
|
|
|
||
|
|
if errorlevel 1 (
|
||
|
|
echo Build failed
|
||
|
|
pause >nul
|
||
|
|
exit /b 1
|
||
|
|
)
|
||
|
|
|
||
|
|
copy config.yaml %DEPLOY_DIR%\config.yaml.example >nul
|
||
|
|
xcopy /E /I /Q sql %DEPLOY_DIR%\sql >nul
|
||
|
|
|
||
|
|
|
||
|
|
:: -------------- start.bat --------------
|
||
|
|
(
|
||
|
|
echo @echo off
|
||
|
|
echo cd %%~dp0
|
||
|
|
echo if not exist config.yaml (
|
||
|
|
echo copy config.yaml.example config.yaml
|
||
|
|
echo echo Please edit config.yaml first.
|
||
|
|
echo pause >nul
|
||
|
|
echo exit /b 1
|
||
|
|
echo ^)
|
||
|
|
echo server.exe
|
||
|
|
echo pause >nul
|
||
|
|
) > %DEPLOY_DIR%\start.bat
|
||
|
|
|
||
|
|
|
||
|
|
:: -------------- start.sh --------------
|
||
|
|
(
|
||
|
|
echo #!/bin/bash
|
||
|
|
echo cd "$(dirname "$0")"
|
||
|
|
echo if [ ! -f config.yaml ]; then
|
||
|
|
echo cp config.yaml.example config.yaml
|
||
|
|
echo echo "Please edit config.yaml first."
|
||
|
|
echo exit 1
|
||
|
|
echo fi
|
||
|
|
echo chmod +x server
|
||
|
|
echo ./server
|
||
|
|
) > %DEPLOY_DIR%\start.sh
|
||
|
|
|
||
|
|
|
||
|
|
:: -------------- init-db.bat --------------
|
||
|
|
(
|
||
|
|
echo @echo off
|
||
|
|
echo cd %%~dp0
|
||
|
|
echo echo Database: %DB_NAME%
|
||
|
|
echo.
|
||
|
|
) > %DEPLOY_DIR%\init-db.bat
|
||
|
|
|
||
|
|
if %DB_TYPE%==1 (
|
||
|
|
echo set /p "pwd=MySQL root password: "
|
||
|
|
echo mysql -uroot -p%%pwd% -e "CREATE DATABASE IF NOT EXISTS %DB_NAME%"
|
||
|
|
echo mysql -uroot -p%%pwd% %DB_NAME% ^< sql\mysql\init.sql
|
||
|
|
) >> %DEPLOY_DIR%\init-db.bat
|
||
|
|
|
||
|
|
if %DB_TYPE%==2 (
|
||
|
|
echo set /p "pwd=Postgres password: "
|
||
|
|
echo set PGPASSWORD=%%pwd%
|
||
|
|
echo psql -U postgres -c "CREATE DATABASE %DB_NAME%" 2^>nul
|
||
|
|
echo psql -U postgres -d%DB_NAME% -f sql\postgres\init.sql
|
||
|
|
) >> %DEPLOY_DIR%\init-db.bat
|
||
|
|
|
||
|
|
if %DB_TYPE%==3 (
|
||
|
|
echo set /p "pwd=SQL Server sa password: "
|
||
|
|
echo sqlcmd -U sa -P %%pwd% -Q "CREATE DATABASE [%DB_NAME%]"
|
||
|
|
echo sqlcmd -U sa -P %%pwd% -d%DB_NAME% -i sql\sqlserver\init.sql
|
||
|
|
) >> %DEPLOY_DIR%\init-db.bat
|
||
|
|
|
||
|
|
if %DB_TYPE%==4 (
|
||
|
|
echo echo Oracle: create user/tablespace then run sql/oracle/init.sql
|
||
|
|
) >> %DEPLOY_DIR%\init-db.bat
|
||
|
|
|
||
|
|
(
|
||
|
|
echo echo.
|
||
|
|
echo Initialize done.
|
||
|
|
echo pause >nul
|
||
|
|
) >> %DEPLOY_DIR%\init-db.bat
|
||
|
|
|
||
|
|
|
||
|
|
:: -------------- init-db.sh --------------
|
||
|
|
(
|
||
|
|
echo #!/bin/bash
|
||
|
|
echo cd "$(dirname "$0")"
|
||
|
|
echo echo "Database: %DB_NAME%"
|
||
|
|
echo.
|
||
|
|
) > %DEPLOY_DIR%\init-db.sh
|
||
|
|
|
||
|
|
if %DB_TYPE%==1 (
|
||
|
|
echo read -sp "MySQL password: " pwd
|
||
|
|
echo echo
|
||
|
|
echo mysql -uroot -p"$pwd" -e "CREATE DATABASE IF NOT EXISTS %DB_NAME%"
|
||
|
|
echo mysql -uroot -p"$pwd" %DB_NAME% < sql/mysql/init.sql
|
||
|
|
) >> %DEPLOY_DIR%\init-db.sh
|
||
|
|
|
||
|
|
if %DB_TYPE%==2 (
|
||
|
|
echo read -sp "Postgres password: " pwd
|
||
|
|
echo echo
|
||
|
|
echo export PGPASSWORD="$pwd"
|
||
|
|
echo psql -U postgres -c "CREATE DATABASE %DB_NAME%" 2>/dev/null
|
||
|
|
echo psql -U postgres -d%DB_NAME% -f sql/postgres/init.sql
|
||
|
|
) >> %DEPLOY_DIR%\init-db.sh
|
||
|
|
|
||
|
|
if %DB_TYPE%==3 (
|
||
|
|
echo read -sp "SQL Server sa password: " pwd
|
||
|
|
echo echo
|
||
|
|
echo sqlcmd -U sa -P "$pwd" -Q "CREATE DATABASE [%DB_NAME%]"
|
||
|
|
echo sqlcmd -U sa -P "$pwd" -d%DB_NAME% -i sql/sqlserver/init.sql
|
||
|
|
) >> %DEPLOY_DIR%\init-db.sh
|
||
|
|
|
||
|
|
if %DB_TYPE%==4 (
|
||
|
|
echo echo "Oracle: create user/tablespace then run sql/oracle/init.sql"
|
||
|
|
) >> %DEPLOY_DIR%\init-db.sh
|
||
|
|
|
||
|
|
echo.
|
||
|
|
echo Build success: %DEPLOY_DIR%
|
||
|
|
echo.
|
||
|
|
echo Just run:
|
||
|
|
echo init-db.bat # 输入一次密码即可
|
||
|
|
echo start.bat
|
||
|
|
echo.
|
||
|
|
pause >nul
|