support example engine python serialization sqlalchemy pylons

example - sqlalchemy engine python



¿Cómo crear y restaurar una copia de seguridad desde SqlAlchemy? (1)

Estoy escribiendo una aplicación Pylons, y estoy tratando de crear un sistema de copia de seguridad simple donde cada tabla se serializa y se agrupa en un solo archivo para que un administrador la descargue, y la use para restaurar la aplicación en caso de que algo malo suceda.

Puedo serializar bien los datos de mi tabla utilizando el serializador SqlAlchemy , y también puedo deserializarlo bien, pero no puedo descubrir cómo devolver esos cambios a la base de datos.

Para serializar mis datos estoy haciendo esto:

from myproject.model.meta import Session from sqlalchemy.ext.serializer import loads, dumps q = Session.query(MyTable) serialized_data = dumps(q.all())

Para probar las cosas, sigo adelante y truncando MyTable , y luego intento restaurar usando serialized_data :

from myproject.model import meta restore_q = loads(serialized_data, meta.metadata, Session)

Esto parece no hacer nada ... He intentado llamar a Session.commit después del hecho, recorriendo individualmente todos los objetos en restore_q y agregándolos, pero nada parece funcionar.

¿Qué me estoy perdiendo? ¿O hay una mejor manera de hacer lo que estoy buscando? No quiero pagar y tocar directamente la base de datos, ya que SqlAlchemy admite diferentes motores de base de datos.