This commit is contained in:
2026-07-12 23:19:42 +08:00
parent 94f6ecf901
commit 2dcafae465
14 changed files with 2303 additions and 0 deletions

152
deploy/config.yaml.example Normal file
View File

@@ -0,0 +1,152 @@
@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