- 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 из репозитория
81 lines
2.1 KiB
Bash
Executable File
81 lines
2.1 KiB
Bash
Executable File
#!/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}"
|