Похоже, MySQLdb, psycopg2 и cx_Oracle имеют симпатичные интерфейсы для подключения к базам данных. Так это звучит разумно, чтобы создать завод, который кто-то может использовать так:python - ищет фабрику драйверов db
conn = DBDriverFactory("MySQL", connectionDetails)
Но сначала я хочу убедиться, что:
- Я не хватает какой-то лучшее решение, и моя идея не очень глупый.
- Нет такого хорошо известного рабочего решения, чтобы предотвратить переосмысление колеса.
Я знаю, что django и алхимия должны делать это, но я ищу что-то очень легкое и простое (но эффективное и элегантное).
Мое представление об общем интерфейсе основано на факте, что все упомянутые бэкенды db отображают объект курсора с помощью методов execute, fetchone и fetchall. Для простых операций, таких как вставка, выбор, обновление, удаление этого объема, достаточно, и различия в диалектах SQL должны быть незначительными. – mnowotka
DB-API определяет функции, классы и методы, которые должны предоставлять модули базы данных, да. Вы по-прежнему остаетесь с разными параметрами, а также с множеством различий в синтаксисе SQL. Только сама параммическая проблема означает, что «общее подмножество» синтаксиса SQL всего двух разных движков базы данных будет действительно довольно и весьма ограниченным. –