Введение: Я пишу веб-интерфейс с отражением SQLAlchemy, который поддерживает несколько баз данных. Получается, что авторы приложения определили postgresql с помощью строчных таблиц / столбцов, например. job.jobstatus , в то время как sqlite имеет смешанный регистр, например, Job.JobStatus . Я использую DeclarativeReflectedBase из примеров для объединения отражения и декларативного стиля.
Проблема: Настройка SQLAlchemy для работы с таблицами / столбцами без учета регистра с отражением
Я уже сделал:
- Я изменил DeclarativeReflectedBase.prepare () метод для передачи quote = False в Table .__ init __
Что еще предстоит решить:
- определения отношений по-прежнему должны соответствовать регистру при настройке объединений, например primaryjoin = "Job.JobStatus == Status.JobStatus" .
- настроить __tablename__ в зависимости от типа двигателя
Вопрос: Верны ли мои предположения или есть более простой способ? Может быть Я мог бы сказать, что отражение отражает все строчные буквы, и все проблемы исчезли.