src.db.ddl
Определение триггеров и функций в БД
1"""Определение триггеров и функций в БД""" 2 3import os 4 5from sqlalchemy import DDL, event 6 7from core.config import Base 8from core.path import PATH 9 10sql_path = os.path.join(PATH, "src", "db", "sql") 11"""str: Путь к директории, содержащей SQL-скрипты.""" 12 13with open(os.path.join(sql_path, "_update_user_status.sql")) as sql: 14 update_user_status = DDL(sql.read()) 15 """DDL: SQL-операция для обновления статуса пользователя.""" 16 17with open(os.path.join(sql_path, "trigger_update_user_status.sql")) as sql: 18 trigger_update_user_status = DDL(sql.read()) 19 """DDL: Триггер для обновления статуса пользователя.""" 20 21with open(os.path.join(sql_path, "_succesful_pay.sql")) as sql: 22 succesful_pay = DDL(sql.read()) 23 """DDL: SQL-операция для обработки успешного платежа.""" 24 25with open(os.path.join(sql_path, "trigger_succesful_pay.sql")) as sql: 26 trigger_succesful_pay = DDL(sql.read()) 27 """DDL: Триггер для обработки успешного платежа.""" 28 29with open(os.path.join(sql_path, "_unfreeze_configs.sql")) as sql: 30 unfreeze_configs = DDL(sql.read()) 31 """DDL: SQL-операция для размораживания конфигураций.""" 32 33with open(os.path.join(sql_path, "_delete_old_transactions.sql")) as sql: 34 delete_old_transactions = DDL(sql.read()) 35 """DDL: SQL-операция для удаления старых транзакций.""" 36 37with open(os.path.join(sql_path, "trigger_old_transactions.sql")) as sql: 38 trigger_old_transactions = DDL(sql.read()) 39 """DDL: Триггер для удаления старых транзакций.""" 40 41# Подписка на события создания метаданных 42event.listen(Base.metadata, "after_create", update_user_status) 43"""None: Подписка на событие после создания метаданных для обновления статуса пользователя.""" 44 45event.listen(Base.metadata, "after_create", trigger_update_user_status) 46"""None: Подписка на событие после создания метаданных для триггера обновления статуса пользователя.""" 47 48event.listen(Base.metadata, "after_create", succesful_pay) 49"""None: Подписка на событие после создания метаданных для обработки успешного платежа.""" 50 51event.listen(Base.metadata, "after_create", trigger_succesful_pay) 52"""None: Подписка на событие после создания метаданных для триггера успешного платежа.""" 53 54event.listen(Base.metadata, "after_create", unfreeze_configs) 55"""None: Подписка на событие после создания метаданных для размораживания конфигураций.""" 56 57event.listen(Base.metadata, "after_create", delete_old_transactions) 58"""None: Подписка на событие после создания метаданных для удаления старых транзакций.""" 59 60event.listen(Base.metadata, "after_create", trigger_old_transactions) 61"""None: Подписка на событие после создания метаданных для триггера удаления старых транзакций."""
sql_path =
'/home/bot/vpn_dan_bot/src/db/sql'
str: Путь к директории, содержащей SQL-скрипты.