some fixes
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
2025-11-08 18:45:20 +09:00
parent 20014d3a81
commit fb74a4a25d
9 changed files with 538 additions and 2 deletions

78
scripts/check-db-connection.sh Executable file
View File

@@ -0,0 +1,78 @@
#!/bin/bash
# scripts/check-db-connection.sh - Быстрая проверка подключения к БД
set -e
echo "🔗 Проверка подключения к базе данных..."
# Проверка из контейнера web
echo "📡 Тест 1: Django ORM подключение..."
if docker-compose exec -T web python -c "
import os
import django
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'backend.settings')
django.setup()
from django.db import connection
from django.contrib.auth import get_user_model
try:
# Тест подключения
with connection.cursor() as cursor:
cursor.execute('SELECT 1')
print('✅ База данных отвечает')
# Тест ORM
User = get_user_model()
user_count = User.objects.count()
print(f'✅ Пользователей в системе: {user_count}')
# Тест миграций
from django.core.management import call_command
from io import StringIO
out = StringIO()
call_command('showmigrations', '--plan', stdout=out)
migrations_output = out.getvalue()
if '[X]' in migrations_output:
print('✅ Миграции применены')
else:
print('⚠️ Есть неприменённые миграции')
except Exception as e:
print(f'❌ Ошибка Django: {e}')
exit(1)
" 2>/dev/null; then
echo "✅ Django успешно подключается к БД"
else
echo "❌ Ошибка подключения Django к БД"
exit 1
fi
# Прямая проверка PostgreSQL
echo ""
echo "📡 Тест 2: Прямое подключение к PostgreSQL..."
if docker-compose exec -T db pg_isready -U links_user -d links_db; then
echo "✅ PostgreSQL готов к подключениям"
else
echo "❌ PostgreSQL не готов"
exit 1
fi
# Проверка таблиц
echo ""
echo "📡 Тест 3: Проверка структуры БД..."
if docker-compose exec -T db psql -U links_user -d links_db -c "
SELECT
schemaname,
tablename
FROM pg_tables
WHERE schemaname = 'public'
ORDER BY tablename;
" 2>/dev/null; then
echo "✅ Таблицы базы данных доступны"
else
echo "❌ Не удается получить список таблиц"
exit 1
fi
echo ""
echo "✅ Все проверки подключения к БД пройдены успешно!"