Estoy usando web2py para alimentar mi sitio web. Decidí usar web2py DAL para un programa de larga ejecución que se ejecuta detrás del sitio. Este programa no parece actualizar sus datos o la base de datos (a veces).DAL sin web2py
from gluon.sql import *
from gluon.sql import SQLDB
from locdb import *
# contains
# db = SQLDB("mysql://user/[email protected]/mydb", pool_size=10)
# db.define_table('orders', Field('status', 'integer'), Field('item', 'string'),
# migrate='orders.table')
orderid = 20 # there is row with id == 20 in table orders
#when I do
db(db.orders.id==orderid).update(status=6703)
db.commit()
No actualiza la base de datos, y una selección en pedidos con esta identificación, muestra los datos correctos. En algunas circunstancias, un "db.rollback()" después de una confirmación parece ayudar.
Muy extraño, por decir lo menos. ¿Has visto esto? Más importante aún, ¿conoces la solución?
ACTUALIZACIÓN:
Corrección: La de selección en cuestión se lleva a cabo dentro del programa, no fuera de él.
A veces, al hacer una serie de actualizaciones, algunas funcionarán y estarán disponibles en el exterior y otras no estarán disponibles. También algunas consultas devolverán los datos que originalmente devolvió aunque los datos tengan cambios en la base de datos desde la consulta original.
Estoy tentado de volcar este enfoque y pasar a otro método, ¿alguna sugerencia?
cuenta que el objeto db no puede ser compartida a través de las discusiones. – mdipierro