当我尝试向Web2py数据库添加新记录时,出现此错误。我已将存储库从另一台计算机上移开,但是我所有的文件都是相同的。
我以前的数据库DAL连接参数如下:
from gluon.contrib.appconfig import AppConfig
myconf = AppConfig(reload=True)
if not request.env.web2py_runtime_gae:
db = DAL(myconf.get('db.'+myconf.get('db.mode')+'_uri'),
pool_size=myconf.get('db.pool_size'),
migrate=myconf.get('db.migrate'),
migrate_enabled=myconf.get('db.migrate_enabled'),
#fake_migrate_all=myconf.get('db.fake_migrate_all'),
fake_migrate_all=True,
check_reserved=['all'])
else:
db = DAL('google:datastore+ndb')
session.connect(request, response, db=db)
Run Code Online (Sandbox Code Playgroud)
它给了我user_auth找不到错误,因此我按照官方文档将其更改为:
from gluon.contrib.appconfig import AppConfig
myconf = AppConfig(reload=True)
if not request.env.web2py_runtime_gae:
db = DAL('sqlite://storage.sqlite', pool_size=1, check_reserved=['all'], migrate=False, fake_migrate_all=True)
else:
db = DAL('google:datastore+ndb')
Run Code Online (Sandbox Code Playgroud)
它显示了/ database和“ Database_Administration”控制台中的所有表,我尝试添加新记录,但出现以下错误。
Web2py Error" <class 'sqlite3.OperationalError'> no such table: application
Run Code Online (Sandbox Code Playgroud)
我的应用程序中没有名为“应用程序”的表,因此它必须与应用程序相关。请指教。
转到“应用程序/您的应用程序名称/数据库”中的数据库文件夹。删除所有表,然后重新创建表。您必须已经从某处复制了它,并且无法加载所有表。设置migrate = True和fake_migrate_all = false。然后重新运行服务器,然后在web2py服务器面板中转到您的应用。选择“编辑”,然后转到管理面板上“模型”下的“数据库管理”。您将在自己的计算机上重新创建所有表。如果不是这种情况,那么您是从其他来源复制过来的。...仍然通过删除所有表来执行以下操作。您一定会启动并运行它。