2009-08-20 12 views
10

Me gustaría utilizar la versión de Python de App Engine, pero en lugar de escribir mi código específicamente para Google Data Store, me gustaría crear mis modelos con un ORM de Python genérico que pueda adjuntarse a Big Table, o si prefiero, una base de datos regular en algún momento posterior. ¿Hay algún ORM de Python como SQLAlchemy que permita esto?¿Funcionan los ORM de Python (SQLAlchemy?) Con Google App Engine?

Respuesta

7

Técnicamente esto no se llamaría un ORM (Object Relational Mapper) sino un DAL (Capa de abstracción de la base de datos). La parte ORM no es realmente interesante para App Engine ya que la API ya se encarga de la asignación de objetos y realiza una asignación relacional simple (ver RelationProperty).

También tenga en cuenta que un DAL nunca le permitirá cambiar entre el almacén de datos de AppEngine y una base de datos sql "normal" como mysql, ya que funcionan de manera muy diferente. Podría permitirle cambiar entre diferentes almacenes de valores clave, como reddis, mongo o tokyo cabinet. Pero como todos tienen características tan diferentes, realmente lo pensaría dos veces antes de usar uno.

Por último, el DAL tradicionalmente se ubica en la parte superior de la interfaz DB, pero con la API de AppEngine puede implementar sus propios "stubs" que básicamente le permiten usar otros back-end de almacenamiento en su API. La gente de Mongo escribió one para MongoDB, que es muy agradable. Y el dev_appserver viene con un sistema basado en archivos.

Y ahora a la respuesta: ¡sí, hay uno! Es parte de web.py. Realmente no lo he intentado si por las razones anteriores, así que realmente no puedo decir si es bueno.

PS. También sé que Ruby tiene un buen proyecto DAL para las tiendas de valores clave en las obras, pero no puedo encontrarlo ahora ... Tal vez sea bueno exportarlo a Python en algún momento.

+6

web2py (web2py.com) y web.py (webpy.org) son diferentes marcos 2 :) –

+0

creo que estás hablando Web2Py: http://www.web2py.com/book/default/chapter/06 y también mencionado en la página de inicio de http://web2py.com/, en la sección ** Conversaciones a **. –

3

Hoy en día lo hacen desde que Google ha puesto en marcha la nube SQL