feat: добавлена система миграций БД и CI/CD пайплайны

- Создана система отслеживания миграций (MigrationRepository, таблица migrations)
- Добавлен скрипт apply_migrations.py для автоматического применения миграций
- Созданы CI/CD пайплайны (.github/workflows/ci.yml, deploy.yml)
- Обновлена документация по миграциям в database-patterns.md
- Миграции применяются автоматически при деплое в продакшн
This commit is contained in:
2026-01-25 23:17:09 +03:00
parent 07e72c4d14
commit e2b1353408
109 changed files with 1342 additions and 1441 deletions

View File

@@ -1,39 +1,24 @@
import pytest
from unittest.mock import Mock, patch, AsyncMock
from datetime import datetime
import os
from datetime import datetime
from unittest.mock import AsyncMock, Mock, patch
from helper_bot.utils.helper_func import (
get_first_name,
get_text_message,
determine_anonymity,
check_username_and_full_name,
safe_html_escape,
download_file,
prepare_media_group_from_middlewares,
add_in_db_media_mediagroup,
add_in_db_media,
send_media_group_message_to_private_chat,
send_media_group_to_channel,
send_text_message,
send_photo_message,
send_video_message,
send_video_note_message,
send_audio_message,
send_voice_message,
check_access,
add_days_to_date,
get_banned_users_list,
get_banned_users_buttons,
delete_user_blacklist,
update_user_info,
check_user_emoji,
get_random_emoji
)
from helper_bot.utils.messages import get_message
from helper_bot.utils.base_dependency_factory import BaseDependencyFactory, get_global_instance
import helper_bot.utils.messages as messages # Import for patching constants
import pytest
from database.async_db import AsyncBotDB
import helper_bot.utils.messages as messages # Import for patching constants
from helper_bot.utils.base_dependency_factory import (BaseDependencyFactory,
get_global_instance)
from helper_bot.utils.helper_func import (
add_days_to_date, add_in_db_media, add_in_db_media_mediagroup,
check_access, check_user_emoji, check_username_and_full_name,
delete_user_blacklist, determine_anonymity, download_file,
get_banned_users_buttons, get_banned_users_list, get_first_name,
get_random_emoji, get_text_message, prepare_media_group_from_middlewares,
safe_html_escape, send_audio_message,
send_media_group_message_to_private_chat, send_media_group_to_channel,
send_photo_message, send_text_message, send_video_message,
send_video_note_message, send_voice_message, update_user_info)
from helper_bot.utils.messages import get_message
class TestHelperFunctions:
"""Тесты для вспомогательных функций"""