From 80f147731e60dc46ed20ba567f5b26043f599183 Mon Sep 17 00:00:00 2001 From: COMTREE Date: Mon, 25 Aug 2025 13:54:59 +0900 Subject: [PATCH] refactor: simplify to use SQLite for all environments MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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 --- deploy-to-nas.sh | 31 +++++++++++-------------------- server.js | 18 +++--------------- 2 files changed, 14 insertions(+), 35 deletions(-) diff --git a/deploy-to-nas.sh b/deploy-to-nas.sh index 26a9257..25ea592 100644 --- a/deploy-to-nas.sh +++ b/deploy-to-nas.sh @@ -148,30 +148,22 @@ if [ \$? -ne 0 ]; then fi echo 'โœ… ์˜์กด์„ฑ ์„ค์น˜ ์™„๋ฃŒ' -# MariaDB ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ดˆ๊ธฐํ™” -if [ -f 'scripts/init-mariadb.js' ]; then - echo '๐Ÿ—„๏ธ MariaDB ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ดˆ๊ธฐํ™” ์ค‘...' - echo 'โ„น๏ธ MariaDB ์—ฐ๊ฒฐ ์„ค์ •:' - echo ' - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค: jaryo' - echo ' - ์‚ฌ์šฉ์ž: jaryo_user' - echo ' - ์†Œ์ผ“: /run/mysqld/mysqld10.sock' +# ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ดˆ๊ธฐํ™” (์„ ํƒ์‚ฌํ•ญ) +if [ "\$INIT_DB" = "true" ] && [ -f 'scripts/init-database.js' ]; then + echo '๐Ÿ—„๏ธ SQLite ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ดˆ๊ธฐํ™” ์ค‘...' + echo 'โ„น๏ธ SQLite ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค: data/jaryo.db' export PATH='$NODE_PATH':\$PATH - if '$NODE_PATH'/npm run init-mariadb; then - echo 'โœ… MariaDB ์ดˆ๊ธฐํ™” ์™„๋ฃŒ' + if '$NODE_PATH'/npm run init-db; then + echo 'โœ… SQLite ์ดˆ๊ธฐํ™” ์™„๋ฃŒ' else - echo 'โŒ MariaDB ์ดˆ๊ธฐํ™” ์‹คํŒจ' - echo '๐Ÿ’ก MariaDB ์„ค์ •์„ ํ™•์ธํ•˜๊ณ  ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜์„ธ์š”:' - echo ' mysql -u root -p << EOF' - 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' + echo 'โŒ SQLite ์ดˆ๊ธฐํ™” ์‹คํŒจ' + echo '๐Ÿ’ก ์ˆ˜๋™์œผ๋กœ ์ดˆ๊ธฐํ™”ํ•˜๋ ค๋ฉด:' + echo ' npm run init-db' exit 1 fi else - echo 'โš ๏ธ MariaDB ์ดˆ๊ธฐํ™” ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.' + echo 'โ„น๏ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ดˆ๊ธฐํ™” ๊ฑด๋„ˆ๋œ€ (INIT_DB=true๋กœ ์„ค์ •์‹œ ์ดˆ๊ธฐํ™”)' fi " @@ -217,9 +209,8 @@ fi # ์„œ๋น„์Šค ์‹œ์ž‘ echo '๐Ÿš€ ์ž๋ฃŒ์‹ค ์„œ๋น„์Šค ์‹œ์ž‘ ์ค‘...' cd '\$PROJECT_DIR' -# NAS ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ • +# NAS ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ • (SQLite ์‚ฌ์šฉ) export NODE_ENV=production -export DEPLOY_ENV=nas export HOST=0.0.0.0 export PORT='$SERVICE_PORT' nohup \$NODE_PATH/node server.js > '\$LOG_FILE' 2>&1 & diff --git a/server.js b/server.js index ac4ef33..8ab46bd 100644 --- a/server.js +++ b/server.js @@ -6,21 +6,9 @@ const fs = require('fs'); const bcrypt = require('bcrypt'); const session = require('express-session'); const { v4: uuidv4 } = require('uuid'); -// ํ™˜๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ—ฌํผ ์„ ํƒ -const isNAS = process.env.NODE_ENV === 'production' || process.env.DEPLOY_ENV === 'nas'; -const isWindows = process.platform === 'win32' && !isNAS; - -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 ์‚ฌ์šฉ'); -} +// ๋ชจ๋“  ํ™˜๊ฒฝ์—์„œ SQLite ์‚ฌ์šฉ +const DatabaseHelper = require('./database/db-helper'); +console.log('๐Ÿ—„๏ธ SQLite ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‚ฌ์šฉ'); const app = express(); const PORT = process.env.PORT || 3005;