Пишу асинхронного бота, возникла необходимость смены асинхронного aiosqlite на асинхронный postgresql(asyncpg)
Возникла проблема, мне нужно импортировать в данном случае sql внутри функции create_bot_database()
async def create_bot_database():
sql = await asyncpg.connect(
host=HOST,
user=USER,
password=PASSWORD,
database=DB_NAME
)
есть ли такая возможность как то вытянуть с функции данную переменную?
Или же нужно заново прописывать коннект в каждом файле, так как вся структура "проекта" разбита на несколько функций
Посредством импорта я могу вытянуть оттуда только саму функцию - create_bot_database()
А мне нужно переменную внутри функции - sql
from database.create_db import create_bot_database
async def startup(message: types.Message): # Здороваемся
await sql.execute(f'SELECT id FROM users WHERE id = "{message.from_user.id}"') # Проверяем есть ли в базе
if await sql.fetchone() is None:
await bot.send_message(message.from_user.id,
"Добро пожаловать!",
"Перед тем, как начать работу нужно согласиться с правилами:",
parse_mode="html", reply_markup=kb_reg)
await registration(message)
else:
await bot.send_message(message.from_user.id, "Вы уже зарегистрированы!", reply_markup=kb_main)
Это функция регистрации, мне нужно тут вызвать как раз функцию sql, но как мне её импортировать?
Возможно не понятно обьяснил, извините заранее