我在aws ec2中配置了odoo并从rds连接postgresql。当我运行comman ./odoo-bin --config = / etc / odoo.conf并尝试从浏览器访问时,出现以下错误。
postgresql version : 9.6.5
odoo verson : 12
ERROR odoo_db odoo.modules.loading: Database odoo_db not initialized, you can force it with `-i base`
File "/opt/odoo/odoo/odoo/modules/registry.py", line 176, in __getitem__
return self.models[model_name]
KeyError: 'ir.http' - - -
答案 0 :(得分:0)
第一眼问题是尽管数据库是在Postgres中创建的,但是它没有与odoo相关的必需设置记录,即基本设置。您可以通过直接访问数据库并查看表数或浏览某些表来进行验证。
有时会创建数据库[具体来说,它会提供与您之前创建的数据库名称相似的数据库名称,并在以后删除它们[从PG删除但在会话或数据库位置路径中仍然有痕迹],该数据库将无法正确初始化。
解决方案:
希望它会有所帮助。 Njoy故障排除!
答案 1 :(得分:0)
./ odoo-bin --addons-path = addons --database = odoo --db_user = odoo --db_password = odoo --db_host = localhost --db_port = 5432 -i INIT,
明确提供数据库名称,用户名和密码,“-i INIT”选项初始化odoo数据库
答案 2 :(得分:0)
首先做@FaisalAnsari 在here 中所说的(我在下面提到的):
*
<块引用>到 RDS 并在 PostgreSQL 中创建数据库并配置
server.conf
文件如下所示。
;This is the password that allows database operations:
;admin_passwd = admin
db_host = rds_endpoint (after creating database you will get
rds_endpoint)
db_port = False
db_user = "user name which is created by you to the database"
db_password = "password which is created"
;addons_path =
/home/deadpool/workspace/odoo_13_community/custom_addons,
/home/deadpool/workspace/odoo_13_community/custom_addons
然后转到命令行并执行以下操作。
~$ service odoo stop
~$ chsh -s /bin/bash odoo
~$ runuser -l odoo -c "odoo -i base -d YourRDSDatabase --db_host YourAmazonRDSHost.Address.rds.amazonaws.com -r YourRDSDatabaseUserName -w YourRDSDatabasePassword --stop-after-init"
~$ service odoo start
疑难解答:
如果 odoo 没有正确启动,请确保 RDS 实例中的数据库用户至少对您正在使用的数据库具有权限。
~$ psql --host=YourAmazonRDSHost.Address.rds.amazonaws.com --port=5432 --username=YourRDSDatabaseUserName --password --dbname=YourRDSDatabase
当你在 postgresql 中输入以下内容时:
~$ grant all privileges on database YourRDSDatabase to YourRDSDatabaseUserName;
~$ \q
然后从第 3 步开始重试。
希望有帮助!!