Настройка Pyramid для использования MySQL raw вместо SQLAlchemy - PullRequest
4 голосов
/ 11 июля 2011

Мы пытаемся создать проект Pyramid, который будет использовать MySQL вместо SQLAlchemy.

Мой опыт работы с Pyramid / Python ограничен, поэтому я надеялся найти руководство в Интернете.К сожалению, я не смог найти ничего, что подтолкнуло бы нас в правильном направлении.Большинство результатов поиска предназначались для людей, пытающихся использовать необработанные команды SQL / MySQL с SQLAlchemy (многие были повторно опубликованными ссылками).

У кого-нибудь есть полезное руководство по этому вопросу?

Ответы [ 3 ]

10 голосов
/ 11 июля 2011

Пирамида в своей основе не предполагает, что вы будете использовать какую-то одну конкретную библиотеку, чтобы помочь вам с вашей настойчивостью.Чтобы упростить задачу, для людей, которые хотят использовать библиотеки, такие как SQLALchemy, библиотека Pyramid содержит Scaffolding , который, по сути, представляет собой некоторый автоматически сгенерированный код для базового сайта с некоторыми дополнениями кнастроить элементы, такие как SQLAlchemy или конкретную стратегию маршрутизации.Документация по пирамиде должна быть в состоянии помочь вам в создании нового проекта с использованием скаффолдинга "pyramid_starter" , который устанавливает базовый сайт без SQLAlchemy.

Это даст вам необходимые основычтобы настроить ваши представления, но затем вам нужно будет добавить код, чтобы позволить вам подключиться к базе данных.К счастью, поскольку ваш сайт представляет собой просто код Python, изучение того, как использовать MySQL в Pyramid, - это просто изучение того, как использовать MySQL в Python , а затем выполнение точно таких же шагов в рамках проекта Pyramid.* Имейте в виду, что даже если вы предпочитаете использовать необработанные запросы SQL, вы все равно можете найти некоторую полезность в SQLAlchemy.На базовом уровне SQLAlchemy просто оборачивает вызовы DBAPI и добавляет полезные функции, такие как пул соединений.Функциональность ORM фактически является большим дополнением к узкому низкоуровневому набору инструментов SQLAlchemy.

5 голосов
/ 12 июля 2011

sqlalchemy не предполагает, что вы будете использовать его orm.Если вы хотите использовать простой sql, вы можете сделать это, не более чем то, что sqlalchemy уже предоставляет.Например, если вы следовали рецепту в кулинарной книге , у вас был бы доступ к объекту сеанса sqlalchemy как request.db, ваш обработчик будет выглядеть примерно так:

def someHandler(request):
    rows = request.db.execute("SELECT * FROM foo").fetchall()
4 голосов
/ 11 июля 2011

Краткое руководство показывает приложение Pyramid, которое использует SQL, но не SQLAlchemy.Он использует SQLite, но его достаточно легко адаптировать для MySQL.

...