Как установить тип по умолчанию не SQLAlchemy как utf8 bin - PullRequest
0 голосов
/ 08 января 2019

Как установить тип SQLAlchemy не по умолчанию как utf8_bin, например:

class User(sa.Model):
    __tablename__ = 'user'

    id = sa.Column(sqlalchemy_utils.UUIDType(binary=True), primary_key=True, default=uuid.uuid4())

    name = sa.Column(sa.VARCHAR(100, collation='utf8_bin'))

Когда я пытаюсь вставить нового пользователя, я получаю сообщение об ошибке:

Warning: (1300, "Invalid utf8 character string: '8FAE44'") rows += self.execute(sql + postfix)

Я пытаюсь подключиться к MySQL, используя ?charset=utf8, но это не работает. Я также нашел эту тему об ошибке.

Моя версия MySQL - mysql Ver 14.14 Distrib 5.7.21, для Linux (x86_64) с использованием оболочки EditLine, Python 3.6.5, SQLAlchemy 1.2.15, SQLAlchemy Utils 0.33.10 ...

...