我得到了一个数据库备份(带文件存储)、文件存储文件夹和另一个文件夹,其中包含该数据库上安装的模块。
我希望在Odoo 8中恢复备份,不再有更多数据。因此,我所做的是创建PostgreSQL角色,该角色拥有数据库表,并赋予它足够的权限(登录、创建数据库、复制)。然后我创建了一个Odoo配置文件。在这里面,我在db_user
中设置了这个新的PostgreSQL角色,并在db_password
中设置了它的密码。我添加了在data_dir
中存储文件存储的路径,以及在addons_path
中包含所有模块的文件夹的路径。
由于没有给我启动器文件,我复制了我拥有的其他Odoo实例的OCB文件夹,并使用其odoo.py
文件启动Odoo。
新实例似乎运行得很好,但现在我刚刚恢复了数据库,我得到了以下错误:
QWebException: "'HttpRequest' object has no attribute 'endpoint_arguments'" while evaluating
'website.get_alternate_languages(request.httprequest)'
我在谷歌上搜索了很多,但除了在其他论坛上有一个未回答的问题外,我什么都找不到。
有人知道这是怎么回事吗?
与此问题相关的更改于2016年2月29日在Odoo中引入(我的意思是以下更改:[FIX]网站:替代语言翻译的URL和[FIX]网址:的后台端口,您现在可以查看这些更改也可在官方Odoo 8.0代码库中获得)
所以很可能您使用了过时的Odoo 8.0服务器,该服务器不包含上述修复程序。请更新到最新的官方Odoo 8.0,并检查问题是否仍然存在。通常情况下,您的问题应该在更新后消失。
当您移动备份数据库并希望稍后恢复它们时,请确保标记从中获取备份的服务器文件的分支和提交点。我查看了我的本地v8 odoo,可以看到endpoint_arguments
变量是在创建web请求时初始化的(第192行附近的openerp/http.py类WebRequest)
不过,您提到您正在v8 OCB Odoo上恢复数据库。如果你浏览他们的分发并提交:
https://github.com/OCA/OCB/commit/3913667396e17075528108ac1031939e6f479ced#diff-5e2f43047c379642786a87195c806f9
你会看到这个变量丢失了,他们已经添加了它。所以确保你git pull
服务器文件来获得提交。
问题的根源是您从一台服务器上进行了备份,该服务器的代码库与您试图将数据库还原到的服务器不同。(qweb文件正在搜索不存在的变量)