Я использую 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 ()» после фиксации, кажется, помогает.
Очень странно, если не сказать больше. Вы видели это? Что важнее, вы знаете решение?
UPDATE:
Исправление:
Рассматриваемый выбор выполняется внутри программы, а не за ее пределами.
Иногда при выполнении серии обновлений некоторые из них работают и будут доступны снаружи, а некоторые не будут доступны. Кроме того, некоторые запросы будут возвращать данные, которые были возвращены первоначально, даже если в базе данных произошли изменения с момента первоначального запроса th4.
Я испытываю желание отказаться от этого подхода и перейти к другому методу, какие-либо предложения?