Pylons Controller里面执行修改数据库表,总是不成功。
然后通过各种手段:
1、js打印返回值
2、不修改表单提交和修改表单提交,结果比较;
3、通过在Pylons Controller里面设置不同位置return;
4、打印传递的各种参数;
5、等等方法。。。
最终确认是Session.commit()的问题。
来看看系统log:
15:23:52,650 INFO [sqlalchemy.engine.base.Engine] [worker 8]SELECT datatables.id AS datatables_id, datatables.type AS datatables_type, datatables.key_list AS datatables_key_list, datatables.name AS datatables_name, datatables.display AS datatables_display, datatables.home_visible AS datatables_home_visible, datatables.merge AS datatables_merge, datatables.bigtype AS datatables_bigtype
FROM data_schemas
WHERE datatables.id = %s
LIMIT %s
15:23:52,650 INFO [sqlalchemy.engine.base.Engine] [worker 8] (14, 1)
15:23:52,653 INFO [sqlalchemy.engine.base.Engine] [worker 8] UPDATE datatables SET merge=%s WHERE datatables.id = %s
15:23:52,653 INFO [sqlalchemy.engine.base.Engine] [worker 8] (0, 14L)
15:23:52,654 INFO [sqlalchemy.engine.base.Engine] [worker 8] ROLLBACK
可以看出已经Update了,然后,艹,又ROLLBACK了!!!
再通过Firebug看看网页给出的提示:
WebError Traceback:
⇝OperationalError: (OperationalError) (1142, "UPDATE command denied to user 'user@uuu'@'10.10.10.10' for table 'datatables'") 'UPDATE datatables SET merge=%s WHERE datatables.id = %s' (0, 14L)
什么叫做denied to user!!!
明明就我所在的用户就没有写权限啊,没有写权限啊,写权限啊,权限啊。。。
DBA给一个没有写权限的用户搞个毛线啊。。。还要找DBA。。。
这个世界是如此的不靠谱啊。。。