SQLAlchemy - специальные символы в MySQL именах таблиц - PullRequest
0 голосов
/ 17 января 2020

Я динамически создаю MySQL таблицы со следующим кодом SQL Код алхимии:

meta = Base.metadata
table_data = Table(
    table_name, meta,
    Column('id', Integer, primary_key=True, nullable=False),
    Column('file_name', String(250), nullable=False))
)
meta.create_all(engine, [table_data])

Переменная table_name - это уникальная строка, отправляемая через вызов API POST. Проблема в том, что имя таблицы может содержать специальные символы, которые я не могу изменить.

Если я пытаюсь вручную создать имя с помощью MySQL workbench, оно работает нормально. Но он выдаст ошибку, когда я сделаю это через SQL Alchemy. Кто-нибудь может посоветовать, как заставить это работать? Любая помощь приветствуется.

Спасибо!

РЕДАКТИРОВАТЬ: Вот пример, с ошибкой для имени data_E82sR4g5YtXqv@AT2QIwH4bQ==:

(MySQLdb._exceptions.ProgrammingError) (1064, '')
[SQL: drop table if exists data_E82sR4g5YtXqv@AT2QIwH4bQ==]
(Background on this error at: http://sqlalche.me/e/f405)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...