В асинхронном веб приложении я делаю регистронезависимые запросы к базе данных (aiosqlite) для поиска ФИО из списка профилей в реальном времени:
async def query(*args):
name,lastname = [x.upper()+"%" for x in args]
async with aiosqlite.connect(Host.DBPATH) as db:
cursor = await db.execute("SELECT * FROM profile WHERE UPPER(name) LIKE ? OR UPPER(lastname) LIKE ?",(name,lastname))
return await cursor.fetchall()
Как и для многих, для меня было сюрпризом, что поиск на русском языке не будет работать.
Я бы хотел спросить, как реализовать асинхронный регистронезависимый поиск по нескольким полям базы данных ( в данных момент sqlite, но переехать можно)?
Если я правильно понимаю, aiosqlite не поддерживает иных кодировок, верно?
NO CASE COLLATE пробовал - не работает.
Приложение через pipelines подключено к heroku.