我正在尝试访问保存在SQLite数据库文件中的持久数据,而不擦除它。我在没有Web2py的情况下启动了一个与Python的交互会话,并输入:
from pydal import DAL, Field
db = DAL('sqlite://storage.sqlite', folder='home/cryptoj/venv', auto_import=True)
db.define_table('persons', Field('name'))
现在我可以创建和保存表数据了。在db.commit()
之后,表格被保存,我可以使用用于SQLite的DB浏览器来读取它。我可以从DB浏览器输入其他数据,也可以在交互式的Python会话中读取这些数据。
我关闭了终端和数据库浏览器。然后我打开数据库浏览器,数据都在那里。然而,当我查看上面的命令时,在一个新的会话中,db.define_table
似乎正在删除存储在storage.sqlite中的数据。
在第二次打开新终端时,如果我没有再次打开define_table
,则会出现错误,并且在交互会话中无法读取现有数据。
1条答案
按热度按时间bqf10yzr1#
可能需要将选项
migrate
设置为False