Как создавать запись в базе данных в момент запуска телеграмм бота?
Использую aiogram 3, sqlachemy 2, python 3.11 Мне нужно, чтобы в момент запуска бота проверялось есть ли определенная запись в базе данных и, если этой записи нет, создать ее. Функция, которая делает эти проверки, уже готова. Проблема в том, что я не знаю как ее вызвать когда бот запускается.
# main.py
async def on_startup():
await create_db()
await start_up_check_bd()
async def main():
logging.basicConfig(level=logging.INFO)
dp.startup.register(on_startup)
dp.shutdown.register(on_shutdown)
dp.update.middleware(DataBaseSession(session_pool=session_maker))
await bot.delete_webhook(drop_pending_updates=True)
await dp.start_polling(bot, allowed_updates=ALLOWED_UPDATES)
asyncio.run(main())
# orm.py
async def start_up_check_bd(session: AsyncSession):
q = await session.execute(select(SomeTable))
if q.scalar():
return
obj = SomeTable()
session.add(obj)
await session.commit()
Если это делать в функции start_up(), то мне в функцию start_up_check_bd нужно передать аргумент session, но я не знаю где его взять в файле main.py... Каким образом можно реализовать это?