refactor: simplify to use SQLite for all environments
- Change all environments (local and NAS) to use SQLite database - Remove MariaDB dependency and complexity - Make database initialization optional in deployment script - Simplify deployment by using single database type across all environments 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -148,30 +148,22 @@ if [ \$? -ne 0 ]; then
|
|||||||
fi
|
fi
|
||||||
echo '✅ 의존성 설치 완료'
|
echo '✅ 의존성 설치 완료'
|
||||||
|
|
||||||
# MariaDB 데이터베이스 초기화
|
# 데이터베이스 초기화 (선택사항)
|
||||||
if [ -f 'scripts/init-mariadb.js' ]; then
|
if [ "\$INIT_DB" = "true" ] && [ -f 'scripts/init-database.js' ]; then
|
||||||
echo '🗄️ MariaDB 데이터베이스 초기화 중...'
|
echo '🗄️ SQLite 데이터베이스 초기화 중...'
|
||||||
echo 'ℹ️ MariaDB 연결 설정:'
|
echo 'ℹ️ SQLite 데이터베이스: data/jaryo.db'
|
||||||
echo ' - 데이터베이스: jaryo'
|
|
||||||
echo ' - 사용자: jaryo_user'
|
|
||||||
echo ' - 소켓: /run/mysqld/mysqld10.sock'
|
|
||||||
|
|
||||||
export PATH='$NODE_PATH':\$PATH
|
export PATH='$NODE_PATH':\$PATH
|
||||||
if '$NODE_PATH'/npm run init-mariadb; then
|
if '$NODE_PATH'/npm run init-db; then
|
||||||
echo '✅ MariaDB 초기화 완료'
|
echo '✅ SQLite 초기화 완료'
|
||||||
else
|
else
|
||||||
echo '❌ MariaDB 초기화 실패'
|
echo '❌ SQLite 초기화 실패'
|
||||||
echo '💡 MariaDB 설정을 확인하고 다음 명령어를 실행하세요:'
|
echo '💡 수동으로 초기화하려면:'
|
||||||
echo ' mysql -u root -p << EOF'
|
echo ' npm run init-db'
|
||||||
echo ' CREATE DATABASE IF NOT EXISTS jaryo CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;'
|
|
||||||
echo ' CREATE USER IF NOT EXISTS '\''jaryo_user'\''@'\''localhost'\'' IDENTIFIED BY '\''JaryoPass2024!@#'\'';'
|
|
||||||
echo ' GRANT ALL PRIVILEGES ON jaryo.* TO '\''jaryo_user'\''@'\''localhost'\'';'
|
|
||||||
echo ' FLUSH PRIVILEGES;'
|
|
||||||
echo ' EOF'
|
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo '⚠️ MariaDB 초기화 스크립트를 찾을 수 없습니다.'
|
echo 'ℹ️ 데이터베이스 초기화 건너뜀 (INIT_DB=true로 설정시 초기화)'
|
||||||
fi
|
fi
|
||||||
"
|
"
|
||||||
|
|
||||||
@@ -217,9 +209,8 @@ fi
|
|||||||
# 서비스 시작
|
# 서비스 시작
|
||||||
echo '🚀 자료실 서비스 시작 중...'
|
echo '🚀 자료실 서비스 시작 중...'
|
||||||
cd '\$PROJECT_DIR'
|
cd '\$PROJECT_DIR'
|
||||||
# NAS 환경 변수 설정
|
# NAS 환경 변수 설정 (SQLite 사용)
|
||||||
export NODE_ENV=production
|
export NODE_ENV=production
|
||||||
export DEPLOY_ENV=nas
|
|
||||||
export HOST=0.0.0.0
|
export HOST=0.0.0.0
|
||||||
export PORT='$SERVICE_PORT'
|
export PORT='$SERVICE_PORT'
|
||||||
nohup \$NODE_PATH/node server.js > '\$LOG_FILE' 2>&1 &
|
nohup \$NODE_PATH/node server.js > '\$LOG_FILE' 2>&1 &
|
||||||
|
18
server.js
18
server.js
@@ -6,21 +6,9 @@ const fs = require('fs');
|
|||||||
const bcrypt = require('bcrypt');
|
const bcrypt = require('bcrypt');
|
||||||
const session = require('express-session');
|
const session = require('express-session');
|
||||||
const { v4: uuidv4 } = require('uuid');
|
const { v4: uuidv4 } = require('uuid');
|
||||||
// 환경에 따른 데이터베이스 헬퍼 선택
|
// 모든 환경에서 SQLite 사용
|
||||||
const isNAS = process.env.NODE_ENV === 'production' || process.env.DEPLOY_ENV === 'nas';
|
const DatabaseHelper = require('./database/db-helper');
|
||||||
const isWindows = process.platform === 'win32' && !isNAS;
|
console.log('🗄️ SQLite 데이터베이스 사용');
|
||||||
|
|
||||||
let DatabaseHelper;
|
|
||||||
if (isNAS) {
|
|
||||||
DatabaseHelper = require('./database/mariadb-helper');
|
|
||||||
console.log('🗄️ NAS 환경: MariaDB 사용');
|
|
||||||
} else if (isWindows) {
|
|
||||||
DatabaseHelper = require('./database/db-helper');
|
|
||||||
console.log('🗄️ 로컬 Windows 환경: SQLite 사용');
|
|
||||||
} else {
|
|
||||||
DatabaseHelper = require('./database/mariadb-helper');
|
|
||||||
console.log('🗄️ Linux 환경: MariaDB 사용');
|
|
||||||
}
|
|
||||||
|
|
||||||
const app = express();
|
const app = express();
|
||||||
const PORT = process.env.PORT || 3005;
|
const PORT = process.env.PORT || 3005;
|
||||||
|
Reference in New Issue
Block a user