-- Создание базы данных и пользователя для Telegram парсера
-- ВНИМАНИЕ: Выполните эти команды от имени root или пользователя с правами CREATE DATABASE

-- Создание базы данных
CREATE DATABASE IF NOT EXISTS `ora_db` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

-- Создание пользователя (если еще не существует)
CREATE USER IF NOT EXISTS 'ora_db_us'@'localhost' IDENTIFIED BY 'hS0qI4rB7s';

-- Выдача прав
GRANT ALL PRIVILEGES ON `ora_db`.* TO 'ora_db_us'@'localhost';
FLUSH PRIVILEGES;

-- Использование базы данных
USE `ora_db`;

-- Таблица для хранения постов из Telegram
CREATE TABLE IF NOT EXISTS `telegram_posts` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `post_id` BIGINT(20) NOT NULL COMMENT 'ID поста в Telegram',
  `channel_id` BIGINT(20) NOT NULL COMMENT 'ID канала',
  `channel_username` VARCHAR(255) DEFAULT NULL COMMENT 'Username канала',
  `text` TEXT NOT NULL COMMENT 'Текст поста',
  `raw_data` TEXT COMMENT 'Полные данные поста в JSON',
  `parsed_data` TEXT COMMENT 'Распарсенные данные о трейдинге в JSON',
  `json_output` TEXT COMMENT 'Сгенерированный JSON по шаблону',
  `created_at` DATETIME NOT NULL COMMENT 'Дата создания поста в Telegram',
  `parsed_at` DATETIME DEFAULT NULL COMMENT 'Дата парсинга',
  `is_processed` TINYINT(1) DEFAULT 0 COMMENT 'Обработан ли пост',
  PRIMARY KEY (`id`),
  UNIQUE KEY `unique_post` (`post_id`, `channel_id`),
  KEY `idx_channel` (`channel_id`),
  KEY `idx_created` (`created_at`),
  KEY `idx_processed` (`is_processed`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Посты из Telegram канала';

-- Таблица для логов парсинга
CREATE TABLE IF NOT EXISTS `parsing_log` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `action` VARCHAR(50) NOT NULL COMMENT 'Тип действия (info, error, warning)',
  `message` TEXT COMMENT 'Сообщение',
  `post_id` BIGINT(20) DEFAULT NULL COMMENT 'ID поста (если применимо)',
  `error` TEXT COMMENT 'Текст ошибки (если есть)',
  `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT 'Время события',
  PRIMARY KEY (`id`),
  KEY `idx_created` (`created_at`),
  KEY `idx_action` (`action`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Логи парсинга';

