Работают ли любые ORM-устройства Python (SQLAlchemy?) С Google App Engine?

Я хотел бы использовать версию App Engine для Python, но вместо того, чтобы писать свой код специально для Google Data Store, я хотел бы создать свои модели с помощью общего ORM Python, который можно было бы привязать к Big Table, или, если бы я предпочитают регулярную базу данных в более позднее время. Есть ли какой-либо Python ORM, такой как SQLAlchemy, который позволит это?

2 Solutions collect form web for “Работают ли любые ORM-устройства Python (SQLAlchemy?) С Google App Engine?”

Технически это не будет называться ORM (Object Relational Mapper), а DAL (уровень абстракции базы данных). Часть ORM не очень интересна для AppEngine, поскольку API уже занимается отображением объектов и делает некоторое простое реляционное сопоставление (см. RelationProperty).

Также поймите, что DAL никогда не позволит вам переключаться между хранилищем данных AppEngine и «нормальной» базой данных sql, такой как mysql, потому что они работают по-разному. Это может позволить вам переключаться между различными хранилищами ключевых значений, такими как reddis, mongo или tokyo. Но, поскольку у всех есть такие очень разные характеристики, я бы подумал дважды, прежде чем использовать их.

Наконец, DAL традиционно сидит поверх интерфейса DB, но с api AppEngine вы можете реализовать свои собственные «заглушки», которые в основном позволяют использовать другие бэкэнды для хранения на их api. Люди в Mongo написал один для MongoDB, который очень приятный. И dev_appserver поставляется с файловой системой.

И теперь к ответу: да есть один! Это часть web.py. Я действительно не пытался, если по причинам выше, поэтому я не могу сказать, хорошо ли это.

PS. Я знаю, что Ruby имеет хороший проект DAL для хранилищ keyvalue в работе тоже, но я не могу его найти сейчас … Может быть, приятно переносить на Python в какой-то момент.

В настоящее время они делают, поскольку Google запустил Cloud SQL

  • Обработка столбцов идентичности Redshift в SQLAlchemy
  • Как определить два отношения к одной таблице в SQLAlchemy
  • Правильная обработка SQLAlchemy сеанса в многопоточных приложениях
  • sqlalchemy: объект InstrumentedList не имеет атрибута 'filter'
  • Множественный индекс столбцов при использовании декларативного расширения ORM sqlalchemy
  • SqlAlchemy эквивалент строки соединения podbcc с использованием FreeTDS
  • Кол-во sqlalchemy много-ко-многим вставить данные
  • Получить количество строк в таблице с помощью SQLAlchemy
  • Очистить кеш отражения sqlalchemy
  • Целевая база данных не обновляется
  • Переименование столбцов при запросе SQLAlchemy в Pandas DataFrame
  • Python - лучший язык программирования в мире.