5.3 KiB
5.3 KiB
Инструкция по добавлению категорий тарифов
⚠️ ВАЖНО: Выберите один из вариантов миграции
Вариант 1: Безопасная миграция (рекомендуется)
Сохраняет существующие серверы и тарифы, добавляет новые тарифы.
Файл: backend/prisma/safe_tariff_migration.sql
Вариант 2: Полная очистка (только для разработки!)
Удаляет ВСЕ серверы, платежи и тарифы. Начинает с чистого листа.
Файл: backend/prisma/clean_slate_migration.sql
📋 Порядок действий (Вариант 1 - Безопасная миграция):
1. Подключитесь к MySQL
mysql -u root -p ospabhost
Или через phpMyAdmin / Adminer / другой клиент БД.
2. Проверьте текущее состояние
-- Посмотрите, какие тарифы используются
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. Примените безопасную миграцию
source backend/prisma/safe_tariff_migration.sql
Или скопируйте и выполните вручную.
Этот скрипт:
- ✅ Добавит поле
categoryв таблицуtariff - ✅ Обновит существующие тарифы (присвоит им
category = 'vps') - ✅ Удалит только неиспользуемые тарифы
- ✅ Добавит 17 новых тарифов с категориями
4. Проверьте результат
SELECT * FROM `tariff` ORDER BY `category`, `price`;
🔥 Порядок действий (Вариант 2 - Полная очистка):
⚠️ ВНИМАНИЕ! Это удалит ВСЕ данные о серверах!
Используйте только если:
- Это тестовая/dev среда
- Вы хотите начать с чистого листа
- У вас есть резервная копия БД
1. Сделайте резервную копию!
mysqldump -u root -p ospabhost > backup_before_migration.sql
2. Примените миграцию
mysql -u root -p ospabhost < backend/prisma/clean_slate_migration.sql
Этот скрипт:
- ❌ Удалит все метрики серверов
- ❌ Удалит все платежи
- ❌ Удалит все серверы
- ❌ Удалит все тарифы
- ✅ Добавит поле
category - ✅ Добавит 17 новых тарифов
3. Сбросьте Prisma клиент (опционально)
cd backend
npx prisma generate
📝 Новые тарифы (17 шт):
VPS/VDS (6 тарифов):
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- полностью переделана страница
📝 Примечания:
-
Старые тарифы не удаляются автоматически. Если нужно их удалить:
DELETE FROM `tariff` WHERE `category` IS NULL; -
Category enum: Доступные значения -
vps,hosting,s3 -
API: Backend автоматически вернёт поле
categoryв ответе/api/tariff -
Фильтрация: Frontend фильтрует тарифы по категории на клиентской стороне
🚀 Готово к деплою!
После применения SQL и перезапуска backend всё будет работать.