All checks were successful
continuous-integration/drone/push Build is passing
52 lines
2.3 KiB
Bash
Executable File
52 lines
2.3 KiB
Bash
Executable File
#!/bin/bash
|
||
|
||
# Запуск API Gateway для мобильного приложения Women Safety
|
||
|
||
echo -e "\033[1;34m🚀 Запуск API Gateway для мобильного приложения на порту 8000...\033[0m"
|
||
|
||
# Переход в директорию проекта
|
||
cd "$(dirname "$0")" || { echo "Не удалось перейти в директорию проекта"; exit 1; }
|
||
|
||
# Активация виртуального окружения
|
||
echo -e "\033[1;33m🔄 Активация виртуального окружения...\033[0m"
|
||
source venv/bin/activate
|
||
|
||
# Установка переменной PYTHONPATH
|
||
export PYTHONPATH="${PWD}:${PYTHONPATH}"
|
||
|
||
# Проверка внешнего IP для доступа из эмулятора Android
|
||
EXTERNAL_IP=$(hostname -I | awk '{print $1}')
|
||
echo -e "\033[1;33m📱 IP-адрес для доступа из эмулятора Android: ${EXTERNAL_IP}:8000\033[0m"
|
||
|
||
# Создание Python-скрипта для миграции базы данных
|
||
echo -e "\033[1;33m🔄 Создание временного скрипта для миграции базы данных...\033[0m"
|
||
cat > migrate_db.py << 'EOL'
|
||
import asyncio
|
||
import sys
|
||
|
||
async def run_migrations():
|
||
from shared.database import init_db
|
||
print("🔄 Выполнение миграций базы данных...")
|
||
await init_db()
|
||
print("✅ Миграции успешно выполнены!")
|
||
|
||
if __name__ == "__main__":
|
||
asyncio.run(run_migrations())
|
||
EOL
|
||
|
||
# Запуск миграции базы данных
|
||
echo -e "\033[1;33m🔄 Запуск миграции базы данных...\033[0m"
|
||
python migrate_db.py
|
||
MIGRATION_STATUS=$?
|
||
|
||
if [ $MIGRATION_STATUS -ne 0 ]; then
|
||
echo -e "\033[1;31m❌ Ошибка при миграции базы данных. Проверьте логи.\033[0m"
|
||
exit 1
|
||
fi
|
||
|
||
echo -e "\033[1;32m✅ База данных успешно мигрирована.\033[0m"
|
||
|
||
# Запуск API Gateway
|
||
echo -e "\033[1;32m✅ Запуск API Gateway для мобильного приложения...\033[0m"
|
||
cd services/api_gateway || { echo "Не удалось перейти в директорию API Gateway"; exit 1; }
|
||
python -m uvicorn main:app --host 0.0.0.0 --port 8000 --log-level debug |