1

我尝试在 Web2Py 中的一个模型中添加一个新表。此外,我在现有表中添加了一个新字段。我尝试加载一个使用这些表的页面,但它不起作用,声称这些东西不存在。好的,所以我在这里迁移到 False。

db = DAL('sqlite://storage.sqlite',pool_size=1,check_reserved=['all'], migrate = False)

重新加载页面,没有变化。然后我尝试在它无法理解的表格中做这样的事情

db.define_table(....,migrate=False,fake_migrate=True)

我将 DAL 调用更改为

db = DAL(...,fake_migrate_all=True)

正如 web2py 手册所说。还是没有变化。所以我说好吧,我将不得不让整个数据库变得愚蠢。因此,我从数据库文件夹中取出所有内容,并尝试用干净的状态重新加载它。

现在它根本不加载。

根据数据库管理,这些表都不存在,尽管如果我再次检查数据库文件夹,它们都在那里。如果我尝试加载应用程序,它会立即报告我调用的表都不存在。我将所有代码都备份在了一个 repo 上,但我无法卸载当前的应用程序,因为我在运行它的服务器上没有那种读取访问权限。

有什么我可以做的吗?

编辑:顺便说一句,这发生在 SQLite

4

1 回答 1

0

除了dumbs DB之外,您是否已经尝试过清理数据库文件夹?如果你不这样做,web2py 会发疯,因为文件说有表,但 db 没有。此外,看看这里,关于修复损坏的迁移和一些关于 sqllite 的警告。

于 2014-01-09T14:43:20.043 回答