使用内存数据库的 Web.py 待办事项示例
首先,我得说我对 web.py
完全是个新手。
我想把这个 待办事项示例 修改一下,让它使用内存中的数据库,而不是用 mysql。
我最后写了:
import web
db = web.database(dbn="sqlite", db=":memory:")
db.query("CREATE TABLE todo (id INT AUTO_INCREMENT, title TEXT);")
def get_todos():
return db.select('todo', order='id')
def new_todo(text):
db.insert('todo', title=text)
def del_todo(id):
db.delete('todo', where="id=$id", vars=locals())
但是当我打开网站时,我看到:
<class 'sqlite3.OperationalError'> at /
no such table: todo
有人知道这是怎么回事吗?
1 个回答
1
我觉得这样设计是行不通的,因为webpy会在每次收到http请求时重新运行整个程序。所以在第二次请求的时候,会创建一个新的数据库,这样在不同的http请求之间就没有数据的持久性了。