-- ==================================================
-- مهاجرت دیتابیس از مرحله ۱ به مرحله ۲ و ۳
-- این فایل را فقط در صورتی اجرا کنید که قبلاً فایل tables.sql نسخه مرحله ۱ را ایمپورت کرده‌اید
-- (یعنی جداول admins, channels, messages, message_map, logs, settings از قبل وجود دارند)
-- اگر نصب تازه انجام می‌دهید، این فایل را اجرا نکنید و فقط database/tables.sql کافی است.
-- ==================================================

-- افزودن ستون ریپلای به جدول messages
ALTER TABLE messages
  ADD COLUMN reply_to_message_id INT DEFAULT NULL AFTER buttons;

-- افزودن ستون‌های شمارش موفق/ناموفق به جدول logs (برای بخش آمار)
ALTER TABLE logs
  ADD COLUMN success_count INT DEFAULT 0 AFTER ref_id,
  ADD COLUMN fail_count INT DEFAULT 0 AFTER success_count;

-- ساخت جدول زمان‌بندی‌ها
CREATE TABLE IF NOT EXISTS schedules (
  id INT AUTO_INCREMENT PRIMARY KEY,
  action ENUM('send','delete') NOT NULL,
  payload_type VARCHAR(20) DEFAULT NULL,
  content MEDIUMTEXT DEFAULT NULL,
  caption TEXT DEFAULT NULL,
  entities TEXT DEFAULT NULL,
  buttons TEXT DEFAULT NULL,
  target_channels TEXT DEFAULT NULL,
  target_message_id INT DEFAULT NULL,
  recurrence ENUM('once','daily','weekly','monthly') NOT NULL DEFAULT 'once',
  scheduled_at DATETIME NOT NULL,
  status ENUM('pending','done','cancelled') NOT NULL DEFAULT 'pending',
  created_by BIGINT,
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- نکته: ستون role جدول admins از قبل در مرحله ۱ مقادیر super/sender/deleter/viewer را پشتیبانی می‌کرد، نیازی به تغییر نیست.
