domovoy_bot/database/migrate_add_payment_reminders.py
Admin ba4676b0af v1.0 MVP - Инициализация проекта 🏠
 Регистрация и верификация жильцов
 Рейтинг активности (уровни)
 Детект шпионов (Score 0-100)
 Анти-мат система (3 предупреждения → бан)
 Админ-панель с рассылкой
 Учёт квартир (несколько жильцов)
 Телефоны экстренных служб и мастеров
 Еженедельный экспорт JSON
 Прокси (socks5) для обхода РКН

Бекап: backups/versions/v1.0_mvp_2026-02-26/

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-27 10:54:16 +00:00

54 lines
1.9 KiB
Python
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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.

"""
Миграция v1.6: создать таблицу payment_reminders для напоминаний о платежах
"""
import sqlite3
import asyncio
DB_PATH = 'database/domovoy.db'
async def migrate():
"""Создать таблицу payment_reminders"""
conn = sqlite3.connect(DB_PATH)
cursor = conn.cursor()
# Проверяем, есть ли уже таблица payment_reminders
cursor.execute("SELECT name FROM sqlite_master WHERE type='table' AND name='payment_reminders'")
existing = cursor.fetchone()
if existing:
print(" Таблица payment_reminders уже существует")
else:
print(" Создаём таблицу payment_reminders...")
cursor.execute("""
CREATE TABLE payment_reminders (
reminder_id INTEGER PRIMARY KEY AUTOINCREMENT,
title TEXT NOT NULL,
amount INTEGER,
due_date TIMESTAMP NOT NULL,
description TEXT,
payment_link TEXT,
is_recurring BOOLEAN DEFAULT 1,
created_by BIGINT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
is_active BOOLEAN DEFAULT 1,
last_reminder_sent TIMESTAMP,
FOREIGN KEY (created_by) REFERENCES users(user_id)
)
""")
# Создаём индексы
cursor.execute("CREATE INDEX ix_payment_reminders_due_date ON payment_reminders(due_date)")
cursor.execute("CREATE INDEX ix_payment_reminders_active ON payment_reminders(is_active)")
print("✅ Таблица payment_reminders создана")
print("✅ Индексы созданы")
conn.commit()
conn.close()
print("✅ Миграция v1.6 завершена!")
if __name__ == '__main__':
asyncio.run(migrate())