Я использую web2py для управления своим веб-сайтом. Я решил использовать web2py DAL для долго работающей программы, которая работает за сайтом. Эта программа, похоже, не обновляет свои данные или базу данных (иногда).
from gluon.sql import *
from gluon.sql import SQLDB
from locdb import *
# contains
# db = SQLDB("mysql://user/pw@localhost/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()
Он не обновляет базу данных, а выбор по ордерам с этим идентификатором показывает правильные данные. В некоторых случаях помогает "db.rollback()" после коммита.
Очень странно, если не сказать больше. Вы видели это? Что еще более важно, знаете ли вы решение?
ОБНОВЛЕНИЕ:
Исправление: рассматриваемый выбор выполняется внутри программы, а не вне ее.
Иногда при выполнении серии обновлений некоторые из них будут работать и будут доступны снаружи, а некоторые будут недоступны. Кроме того, некоторые запросы будут возвращать данные, которые они первоначально вернули, даже если данные изменились в БД с момента исходного запроса th4.
У меня возникает соблазн отказаться от этого подхода и перейти к другому методу, какие-либо предложения?