v4.1.24: Добавлены поля arve_checked и arve_makstud
- FEAT: Добавлены поля arve_checked (int) и arve_makstud (string) в production_records
- POST /api/records: INSERT с arve_checked, arve_makstud
- PUT /api/records/🆔 UPDATE с arve_checked, arve_makstud
- Docker: docker-compose.prod.yml, ecosystem.config.cjs (PM2)
- wrangler.toml → wrangler.jsonc
- seed.sql: полные тестовые данные
- test_browser.js: E2E тесты
- Удалены старые HOTFIX-файлы (v4.1.11-v4.1.23)
- Удалены data/*.sqlite из репозитория
This commit is contained in:
80
backup.sh
Executable file
80
backup.sh
Executable file
@@ -0,0 +1,80 @@
|
||||
#!/bin/bash
|
||||
|
||||
# AKNAPROFF Tootmine Database Backup Script
|
||||
# Создаёт бэкапы БД с timestamp
|
||||
|
||||
set -e # Exit on error
|
||||
|
||||
# Цвета для вывода
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
# Настройки
|
||||
DATE=$(date +%Y%m%d_%H%M%S)
|
||||
BACKUP_DIR="./backups"
|
||||
DEV_DB_PATH=".wrangler/state/v3/d1/webapp-production.sqlite"
|
||||
PROD_DB_PATH="data/db/webapp-production.sqlite"
|
||||
|
||||
# Создать папку для бэкапов
|
||||
mkdir -p "$BACKUP_DIR"
|
||||
|
||||
echo "🗄️ AKNAPROFF Database Backup"
|
||||
echo "=============================="
|
||||
echo ""
|
||||
|
||||
# Проверить и бэкапить Development БД
|
||||
if [ -f "$DEV_DB_PATH" ]; then
|
||||
DEV_BACKUP="$BACKUP_DIR/webapp-dev-$DATE.sqlite"
|
||||
cp "$DEV_DB_PATH" "$DEV_BACKUP"
|
||||
|
||||
# Размер файла
|
||||
SIZE=$(du -h "$DEV_BACKUP" | cut -f1)
|
||||
|
||||
echo -e "${GREEN}✅ Development DB backed up${NC}"
|
||||
echo " File: $DEV_BACKUP"
|
||||
echo " Size: $SIZE"
|
||||
echo ""
|
||||
else
|
||||
echo -e "${YELLOW}⚠️ Development DB not found${NC}"
|
||||
echo " Path: $DEV_DB_PATH"
|
||||
echo ""
|
||||
fi
|
||||
|
||||
# Проверить и бэкапить Production БД
|
||||
if [ -f "$PROD_DB_PATH" ]; then
|
||||
PROD_BACKUP="$BACKUP_DIR/webapp-prod-$DATE.sqlite"
|
||||
cp "$PROD_DB_PATH" "$PROD_BACKUP"
|
||||
|
||||
# Размер файла
|
||||
SIZE=$(du -h "$PROD_BACKUP" | cut -f1)
|
||||
|
||||
echo -e "${GREEN}✅ Production DB backed up${NC}"
|
||||
echo " File: $PROD_BACKUP"
|
||||
echo " Size: $SIZE"
|
||||
echo ""
|
||||
else
|
||||
echo -e "${YELLOW}⚠️ Production DB not found${NC}"
|
||||
echo " Path: $PROD_DB_PATH"
|
||||
echo ""
|
||||
fi
|
||||
|
||||
# Показать все бэкапы
|
||||
echo "📦 All backups:"
|
||||
echo "---------------"
|
||||
ls -lh "$BACKUP_DIR"/*.sqlite 2>/dev/null | awk '{print " " $9 " (" $5 ")"}'
|
||||
|
||||
echo ""
|
||||
echo "=============================="
|
||||
|
||||
# Подсчитать количество бэкапов
|
||||
BACKUP_COUNT=$(ls -1 "$BACKUP_DIR"/*.sqlite 2>/dev/null | wc -l)
|
||||
if [ "$BACKUP_COUNT" -gt 10 ]; then
|
||||
echo -e "${YELLOW}💡 Tip: You have $BACKUP_COUNT backups${NC}"
|
||||
echo " Consider cleaning old backups:"
|
||||
echo " rm $BACKUP_DIR/webapp-*-2024*.sqlite"
|
||||
echo ""
|
||||
fi
|
||||
|
||||
echo -e "${GREEN}✅ Backup completed!${NC}"
|
||||
Reference in New Issue
Block a user