Files
ospab.host/TARIFF_CATEGORIES_SETUP.md
2025-11-23 14:35:16 +03:00

163 lines
5.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Инструкция по добавлению категорий тарифов
## ⚠️ ВАЖНО: Выберите один из вариантов миграции
### Вариант 1: Безопасная миграция (рекомендуется)
Сохраняет существующие серверы и тарифы, добавляет новые тарифы.
**Файл:** `backend/prisma/safe_tariff_migration.sql`
### Вариант 2: Полная очистка (только для разработки!)
Удаляет ВСЕ серверы, платежи и тарифы. Начинает с чистого листа.
**Файл:** `backend/prisma/clean_slate_migration.sql`
---
## 📋 Порядок действий (Вариант 1 - Безопасная миграция):
### 1. Подключитесь к MySQL
```bash
mysql -u root -p ospabhost
```
Или через phpMyAdmin / Adminer / другой клиент БД.
### 2. Проверьте текущее состояние
```sql
-- Посмотрите, какие тарифы используются
SELECT
t.id,
t.name,
COUNT(s.id) as servers_count
FROM `tariff` t
LEFT JOIN `server` s ON s.tariffId = t.id
GROUP BY t.id, t.name;
```
### 3. Примените безопасную миграцию
```bash
source backend/prisma/safe_tariff_migration.sql
```
Или скопируйте и выполните вручную.
**Этот скрипт:**
- ✅ Добавит поле `category` в таблицу `tariff`
- ✅ Обновит существующие тарифы (присвоит им `category = 'vps'`)
- ✅ Удалит только неиспользуемые тарифы
- ✅ Добавит 17 новых тарифов с категориями
### 4. Проверьте результат
```sql
SELECT * FROM `tariff` ORDER BY `category`, `price`;
```
---
## 🔥 Порядок действий (Вариант 2 - Полная очистка):
### ⚠️ ВНИМАНИЕ! Это удалит ВСЕ данные о серверах!
Используйте только если:
- Это тестовая/dev среда
- Вы хотите начать с чистого листа
- У вас есть резервная копия БД
### 1. Сделайте резервную копию!
```bash
mysqldump -u root -p ospabhost > backup_before_migration.sql
```
### 2. Примените миграцию
```bash
mysql -u root -p ospabhost < backend/prisma/clean_slate_migration.sql
```
**Этот скрипт:**
- ❌ Удалит все метрики серверов
- ❌ Удалит все платежи
- ❌ Удалит все серверы
- ❌ Удалит все тарифы
- ✅ Добавит поле `category`
- ✅ Добавит 17 новых тарифов
### 3. Сбросьте Prisma клиент (опционально)
```bash
cd backend
npx prisma generate
```
---
## 📝 Новые тарифы (17 шт):
### VPS/VDS (6 тарифов):
```bash
cd backend
npm start
# или
node dist/src/index.js
```
## 🎨 Что изменилось на frontend:
### Новая страница тарифов:
-**3 категории**: VPS/VDS, Хостинг, S3 Хранилище
-**Вкладки** для переключения между категориями
-**Иконки** для каждой категории
-**Карточки** с галочками для списка функций
-**Hero секция** с описанием
-**Секция преимуществ** внизу
-**CTA секция** с призывом к действию
### Дизайн:
- Современный многосекционный layout
- Sticky-табы для удобной навигации
- Hover-эффекты на карточках
- Градиентные фоны для Hero и CTA секций
- Адаптивный дизайн для всех устройств
## 📦 Размеры после сборки:
- **index.html**: 6.71 kB (gzip: 2.46 kB)
- **CSS**: 66.64 kB (gzip: 10.64 kB)
- **JS main**: 938.19 kB (gzip: 237.62 kB)
- **React vendor**: 173.20 kB (gzip: 57.00 kB)
- **UI vendor**: 17.26 kB (gzip: 5.99 kB)
## 🔧 Изменённые файлы:
### Backend:
-`backend/prisma/schema.prisma` - добавлено поле `category`
-`backend/prisma/manual_migration_category.sql` - миграция БД
-`backend/prisma/add_tariff_categories.sql` - новые тарифы
### Frontend:
-`frontend/src/pages/tariffs.tsx` - полностью переделана страница
## 📝 Примечания:
1. **Старые тарифы** не удаляются автоматически. Если нужно их удалить:
```sql
DELETE FROM `tariff` WHERE `category` IS NULL;
```
2. **Category enum**: Доступные значения - `vps`, `hosting`, `s3`
3. **API**: Backend автоматически вернёт поле `category` в ответе `/api/tariff`
4. **Фильтрация**: Frontend фильтрует тарифы по категории на клиентской стороне
## 🚀 Готово к деплою!
После применения SQL и перезапуска backend всё будет работать.