У меня есть хороший опыт работы с модулем Perl DBI. Модуль DBI действует как единый API для нескольких баз данных, таких как Oracle, Postgres и т. д.
Я недавно начал работать над Python и заметил, что для каждой базы данных в Python есть отдельный API.
Следующие мои вопросы: 1. Разве в Python нет единый API БД? 2. Если нет, то разве это не недостаток Python?






Не существует эквивалента Python для экосистемы Perl, ориентированной на DBI. Вместо:
Отсутствие в Python подходящего эквивалента DBI является меньшим недостатком, чем в Perl, из-за другой системы модулей. Предполагая, что вы ограничиваете себя общим подмножеством SQL и DBAPI вместо использования специфичных для драйвера расширений, переключение на другой драйвер может быть таким же простым, как изменение импорта и обновление информации о соединении:
- import somedatabase as db
+ import differentdriver as db
На практике ни DBAPI Python, ни DBI Perl не позволят вам переключать базы данных по прихоти. Однако Perl DBI значительно упрощает написание программного обеспечения, которое работает с несколькими базами данных.
Мне ничего не известно, но вы могли бы использовать ORM.