#!/bin/bash # Скрипт для застосування міграцій MicroDAO Dashboard # Використання: ./scripts/apply_microdao_dashboard_migrations.sh [DB_USER] [DB_NAME] [DB_HOST] set -e DB_USER="${1:-postgres}" DB_NAME="${2:-daarion}" DB_HOST="${3:-localhost}" echo "==========================================" echo "Застосування міграцій MicroDAO Dashboard" echo "==========================================" echo "Користувач: $DB_USER" echo "База даних: $DB_NAME" echo "Хост: $DB_HOST" echo "" # Перевірка підключення echo "Перевірка підключення до БД..." psql -h "$DB_HOST" -U "$DB_USER" -d "$DB_NAME" -c "SELECT version();" > /dev/null 2>&1 || { echo "❌ Помилка: не вдалося підключитися до бази даних" echo "Перевірте параметри підключення" exit 1 } echo "✅ Підключення успішне" echo "" # Міграція 044: microdao_activity echo "Застосування міграції 044_microdao_activity.sql..." if psql -h "$DB_HOST" -U "$DB_USER" -d "$DB_NAME" -f migrations/044_microdao_activity.sql; then echo "✅ Міграція 044 застосована успішно" else echo "❌ Помилка при застосуванні міграції 044" exit 1 fi echo "" # Міграція 045: microdao_stats echo "Застосування міграції 045_microdao_stats.sql..." if psql -h "$DB_HOST" -U "$DB_USER" -d "$DB_NAME" -f migrations/045_microdao_stats.sql; then echo "✅ Міграція 045 застосована успішно" else echo "❌ Помилка при застосуванні міграції 045" exit 1 fi echo "" # Seed-дані echo "Застосування seed-даних для DAARION..." if psql -h "$DB_HOST" -U "$DB_USER" -d "$DB_NAME" -f docs/sql/seed_microdao_activity_daarion.sql; then echo "✅ Seed-дані застосовані успішно" else echo "⚠️ Попередження: помилка при застосуванні seed-даних (можливо вже існують)" fi echo "" # Перевірка результатів echo "Перевірка результатів..." echo "" echo "Кількість записів активності для DAARION:" psql -h "$DB_HOST" -U "$DB_USER" -d "$DB_NAME" -t -c "SELECT COUNT(*) FROM microdao_activity WHERE microdao_slug = 'daarion';" echo "" echo "Структура таблиці microdao_activity:" psql -h "$DB_HOST" -U "$DB_USER" -d "$DB_NAME" -c "\d microdao_activity" | head -15 echo "" echo "Нові стовпці в таблиці microdaos:" psql -h "$DB_HOST" -U "$DB_USER" -d "$DB_NAME" -c "SELECT column_name, data_type FROM information_schema.columns WHERE table_name = 'microdaos' AND column_name IN ('citizens_count', 'rooms_count', 'agents_count', 'last_update_at') ORDER BY column_name;" echo "" echo "==========================================" echo "✅ Всі міграції застосовано успішно!" echo "=========================================="