Files
iddaai-be/scripts/export-db-samples.sh
T
fahricansecer 2f0b85a0c7
Deploy Iddaai Backend / build-and-deploy (push) Failing after 18s
first (part 2: other directories)
2026-04-16 15:11:25 +03:00

172 lines
5.2 KiB
Bash
Executable File
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.
#!/bin/bash
# ==============================================================================
# Database Sample Export Script (LOKAL VERSİYON)
# Bu script önemli tablolardan örnek veri çeker ve mds/DATABASE_SAMPLES.md'ye yazar
# AI asistanların veritabanı yapısını anlaması için kullanılır
# ==============================================================================
# Kullanım:
# 1. Önce SSM port forwarding başlat: dbconnect
# 2. Yeni terminal aç ve çalıştır: bash scripts/export-db-samples.sh
OUTPUT_FILE="mds/DATABASE_SAMPLES.md"
DB_HOST="localhost"
DB_PORT="15432"
DB_USER="suggestbet"
DB_NAME="boilerplate_db"
PGPASSWORD="SuGGesT2026SecuRe"
export PGPASSWORD
# Veritabanı bağlantı kontrolü
if ! psql -h $DB_HOST -p $DB_PORT -U $DB_USER -d $DB_NAME -c "SELECT 1" > /dev/null 2>&1; then
echo "❌ Veritabanına bağlanılamadı!"
echo "📌 Önce SSM port forwarding başlat: dbconnect"
exit 1
fi
echo "📊 Veritabanı örnekleri çekiliyor..."
# Tarih
CURRENT_DATE=$(date '+%Y-%m-%d %H:%M')
# Markdown dosyasını oluştur
cat > $OUTPUT_FILE << EOF
# Database Sample Data
Bu dosya AI asistanların veritabanı yapısını anlaması için örnek veriler içerir.
**Son Güncelleme:** $CURRENT_DATE
> ⚠️ Bu dosya otomatik oluşturulmuştur. Elle düzenlemeyin.
> Script: \`scripts/export-db-samples.sh\`
---
## 📈 Tablo İstatistikleri
| Tablo | Kayıt Sayısı |
|-------|-------------|
EOF
# Tablo sayılarını çek
for table in countries leagues teams players matches predictions odd_categories odd_selections match_team_stats live_matches users app_settings; do
count=$(psql -h $DB_HOST -p $DB_PORT -U $DB_USER -d $DB_NAME -t -c "SELECT COUNT(*) FROM $table;" 2>/dev/null | tr -d ' ')
if [ -n "$count" ]; then
echo "| $table | $count |" >> $OUTPUT_FILE
fi
done
echo "" >> $OUTPUT_FILE
echo "---" >> $OUTPUT_FILE
echo "" >> $OUTPUT_FILE
# Örnek veriler
echo "## 🏟️ Matches (Son 5 Maç)" >> $OUTPUT_FILE
echo '```json' >> $OUTPUT_FILE
psql -h $DB_HOST -p $DB_PORT -U $DB_USER -d $DB_NAME -t -c "
SELECT json_agg(t) FROM (
SELECT id, match_name, sport, score_home, score_away, state,
to_timestamp(mst_utc/1000) as match_time
FROM matches
ORDER BY mst_utc DESC
LIMIT 5
) t;" 2>/dev/null >> $OUTPUT_FILE
echo '```' >> $OUTPUT_FILE
echo "" >> $OUTPUT_FILE
echo "## 🏆 Leagues (İlk 10)" >> $OUTPUT_FILE
echo '```json' >> $OUTPUT_FILE
psql -h $DB_HOST -p $DB_PORT -U $DB_USER -d $DB_NAME -t -c "
SELECT json_agg(t) FROM (
SELECT id, name, sport, country_id
FROM leagues
LIMIT 10
) t;" 2>/dev/null >> $OUTPUT_FILE
echo '```' >> $OUTPUT_FILE
echo "" >> $OUTPUT_FILE
echo "## ⚽ Teams (İlk 10)" >> $OUTPUT_FILE
echo '```json' >> $OUTPUT_FILE
psql -h $DB_HOST -p $DB_PORT -U $DB_USER -d $DB_NAME -t -c "
SELECT json_agg(t) FROM (
SELECT id, name, sport, logo_url
FROM teams
LIMIT 10
) t;" 2>/dev/null >> $OUTPUT_FILE
echo '```' >> $OUTPUT_FILE
echo "" >> $OUTPUT_FILE
echo "## 🌍 Countries (İlk 10)" >> $OUTPUT_FILE
echo '```json' >> $OUTPUT_FILE
psql -h $DB_HOST -p $DB_PORT -U $DB_USER -d $DB_NAME -t -c "
SELECT json_agg(t) FROM (
SELECT id, name, flag_url
FROM countries
LIMIT 10
) t;" 2>/dev/null >> $OUTPUT_FILE
echo '```' >> $OUTPUT_FILE
echo "" >> $OUTPUT_FILE
echo "## 🎯 Predictions (Son 5)" >> $OUTPUT_FILE
echo '```json' >> $OUTPUT_FILE
psql -h $DB_HOST -p $DB_PORT -U $DB_USER -d $DB_NAME -t -c "
SELECT json_agg(t) FROM (
SELECT match_id, prediction_json, created_at
FROM predictions
ORDER BY created_at DESC
LIMIT 5
) t;" 2>/dev/null >> $OUTPUT_FILE
echo '```' >> $OUTPUT_FILE
echo "" >> $OUTPUT_FILE
echo "## 📊 Match Team Stats (Örnek 5)" >> $OUTPUT_FILE
echo '```json' >> $OUTPUT_FILE
psql -h $DB_HOST -p $DB_PORT -U $DB_USER -d $DB_NAME -t -c "
SELECT json_agg(t) FROM (
SELECT match_id, team_id, possession_percentage, shots_on_target,
shots_off_target, corners, fouls
FROM match_team_stats
LIMIT 5
) t;" 2>/dev/null >> $OUTPUT_FILE
echo '```' >> $OUTPUT_FILE
echo "" >> $OUTPUT_FILE
echo "## 💰 Odd Categories (Örnek 5)" >> $OUTPUT_FILE
echo '```json' >> $OUTPUT_FILE
psql -h $DB_HOST -p $DB_PORT -U $DB_USER -d $DB_NAME -t -c "
SELECT json_agg(t) FROM (
SELECT db_id, match_id, name, category_json_id
FROM odd_categories
LIMIT 5
) t;" 2>/dev/null >> $OUTPUT_FILE
echo '```' >> $OUTPUT_FILE
echo "" >> $OUTPUT_FILE
echo "## 🎰 Odd Selections (Örnek 10)" >> $OUTPUT_FILE
echo '```json' >> $OUTPUT_FILE
psql -h $DB_HOST -p $DB_PORT -U $DB_USER -d $DB_NAME -t -c "
SELECT json_agg(t) FROM (
SELECT db_id, odd_category_db_id, name, odd_value, position
FROM odd_selections
LIMIT 10
) t;" 2>/dev/null >> $OUTPUT_FILE
echo '```' >> $OUTPUT_FILE
echo "" >> $OUTPUT_FILE
echo "## ⚙️ App Settings" >> $OUTPUT_FILE
echo '```json' >> $OUTPUT_FILE
psql -h $DB_HOST -p $DB_PORT -U $DB_USER -d $DB_NAME -t -c "
SELECT json_agg(t) FROM (
SELECT key, value
FROM app_settings
) t;" 2>/dev/null >> $OUTPUT_FILE
echo '```' >> $OUTPUT_FILE
echo "" >> $OUTPUT_FILE
echo "---" >> $OUTPUT_FILE
echo "" >> $OUTPUT_FILE
echo "_Bu dosya \`scripts/export-db-samples.sh\` tarafından oluşturulmuştur._" >> $OUTPUT_FILE
echo "✅ Export tamamlandı: $OUTPUT_FILE"