Исправлена ошибка закрытия транзакции

This commit is contained in:
2025-08-22 16:43:03 +07:00
parent 2c93ded028
commit 39fa59e009
3 changed files with 10 additions and 7 deletions

View File

@@ -753,14 +753,14 @@ class AdminBot(AnyBots):
except Exception as e:
self.logger.exception(f"err CheckDataBase: {e}")
async def init_db():
async def init_db(debug = False):
DataBaseEngine = create_async_engine(
config.Settings().DB_URL,
pool_size=20,
max_overflow=10,
pool_recycle=300,
pool_pre_ping=True,
#echo=True,
echo=debug,
)
async with DataBaseEngine.begin() as conn:
await conn.run_sync(DataBaseClasses['base'].metadata.create_all)

View File

@@ -65,6 +65,8 @@ class MainRimagochiModule(commands.Cog):
err_embed = self.client.ErrEmbed(title = "Ошибка профиля", thumbnail = member.avatar, description = f"Пользователь не найден")
await ctx.response.send_message(embed = err_embed)
return
async with self.DataBaseManager.session() as session:
async with session.begin():
async with self.DataBaseManager.models['rimagochi_users'] as rimagochi_users_model:
stmt = self.DataBaseManager.select(rimagochi_users_model).options(

View File

@@ -1,4 +1,5 @@
import logging
import disnake
from disnake.ext import commands
from disnake.ext import tasks
@@ -19,8 +20,8 @@ from constants.global_constants import *
from libs.tokens_formatter import TOKENS
import CoreFun
logger = CoreFun.logger
CoreFun.logging.basicConfig(level=logging.INFO, force=True, format="%(asctime)s %(name)s %(levelname)s: %(message)s", datefmt="%d-%m-%Y %H:%M:%S")
logger = CoreFun.logging.getLogger(__name__)
async def main():
stop_event = asyncio.Event()
@@ -29,7 +30,7 @@ async def main():
all_bots = []
try:
DataBase = await CoreFun.init_db()
DataBase = await CoreFun.init_db(debug=True)
#await CoreFun.db_migration(DataBase)
'''
@@ -55,8 +56,8 @@ async def main():
#sup_bot.load_extension("cogs.economy")
#sup_bot.load_extension("cogs.designer")
#sup_bot.load_extension("cogs.roles")
sup_bot.load_extension("cogs.admin")
#sup_bot.load_extension("cogs.rimagochi")
#sup_bot.load_extension("cogs.admin")
sup_bot.load_extension("cogs.rimagochi")
# Запуск монитора остановки и ботов
monitor_task = asyncio.create_task(CoreFun.monitor_stop(stop_event, all_bots))