Где завершать соединение с БД sqlite3?

Я пишу тг бота в telebot, он конектится с БД, и возникает вопрос, надо закрывать соединение после каждого запроса (я погуглил, и так делать не сильно хочется так как будет очень медленно работать бот) или где-то в конце программы, но где конец, если у меня стоит polling.


Ответы (1 шт):

Автор решения: betepok

Вынести отдельный файл с обработкой базы данных, например db.py, сделать там функции, которые вам нужны, импортировать его в main.py и обращаться оттуда. пример функции. Либо просто расписать их также в main, если они не будут сильно мешаться.

def get_users():
    sqlite_connection = sqlite3.connect('db.db')
    cursor = sqlite_connection.cursor()
    qry = """ SELECT telegram_id FROM tg_users"""
    cursor.execute(qry)
    records = cursor.fetchall()
    sqlite_connection.close()
    return records
→ Ссылка