Вместо того, чтобы использовать ORM, я рассматриваю следующий подход в Python и MySQL без ORM (SQLObject / SQLAlchemy). Я хотел бы получить некоторую обратную связь о том, может ли это иметь какие-либо негативные долгосрочные последствия, поскольку в краткосрочной перспективе это выглядит хорошо из того, что я могу сказать.
Вместо перевода строки из базы данных в объект:
- каждая таблица представлена классом
- строка извлекается как диктант
объект, представляющий курсор, обеспечивает доступ к таблице следующим образом:
cursor.mytable.get_by_ids (низкий, высокий)
удаление означает установку time_of_removal на текущее время
Таким образом, по сути, это устраняет необходимость в ORM, поскольку каждая таблица имеет класс для ее представления, а внутри этого класса отдельный dict представляет каждую строку.
Отображение типов тривиально, потому что каждый dict (строка), являющийся объектом первого класса в python / blub, позволяет вам знать класс объекта, и, кроме того, низкоуровневая библиотека базы данных в Python выполняет преобразование типов в на уровне поля в соответствующие типы уровня приложения.
Если вы видите какие-либо потенциальные проблемы при движении по этому пути, пожалуйста, дайте мне знать. Спасибо.