Поставил пятый мускул. База в юникоде.
Таблица:
CREATE TABLE `test` (
`id` int(11) NOT NULL auto_increment,
`name` text collate utf8_unicode_ci,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC
Модель:
test_table = Table('test', metadata,
Column('id', types.Integer, primary_key=True, autoincrement=True),
Column('name', types.Unicode)
)
Запрос:
# -*- coding: utf-8 -*-
def test(self):
from video.model import Session, test_table
from sqlalchemy.sql import select
q = test_table.insert(values={'name':u'пуля'})
Session.execute(q)
q = test_table.insert(values={'name':u'Пуля'})
Session.execute(q)
q = test_table.insert(values={'name':u'ПуЛя'})
Session.execute(q)
Session.commit()
t = test_table.alias('t')
q = select([t.c.name], t.c.name.like(u'Пуля'))
s = []
for n in Session.execute(q):
s.append(n.name)
return ', '.join(s)
Результат одно слово “Пуля” :(