You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Odoo 12数据库创建失败:提示'relation "ir_model" does not exist'错误求助

Odoo 12 创建数据库报错:relation "ir_model" does not exist 解决办法

问题场景

按照Odoo 15验证有效的部署步骤搭建Odoo 12,创建数据库时触发如下错误:

Database creation error: relation "ir_model" does not exist LINE 1: SELECT * FROM ir_model WHERE state='manual' ^

相关日志信息:

INFO odoo12 odoo.sql_db: ConnectionPool(used=0/count=0/max=64): Closed 1 connections to 'user=odoo12 password=xxx dbname=odoo12 host=localhost port=5432 sslmode=prefer'
INFO odoo12 werkzeug: 127.0.0.1 - - [27/Feb/2024 09:22:58] "GET /web/database/selector HTTP/1.1" 200 - 13 0.010 1.595

核心原因

Odoo 12与15的依赖要求、数据库初始化逻辑存在差异,直接套用15的部署步骤会导致数据库初始化不完整,关键系统表未创建。

解决步骤

1. 检查PostgreSQL版本兼容性

Odoo 12仅支持PostgreSQL 9.6~10.x,若当前版本过高(如12+)会触发兼容性问题:

  • 执行命令查看版本:psql --version
  • 版本不符的话,卸载现有PostgreSQL,安装9.6或10版本。

2. 重新初始化数据库

停止Odoo 12服务后,手动初始化数据库:

  • 登录PostgreSQL:sudo -u postgres psql
  • 删除问题数据库:DROP DATABASE odoo12;
  • 新建空数据库并指定所有者:CREATE DATABASE odoo12 OWNER odoo12;
  • 找到Odoo 12源码目录,执行基础初始化脚本:
    sudo -u postgres psql -d odoo12 -f /path/to/odoo12/addons/base/base.sql
    sudo -u postgres psql -d odoo12 -f /path/to/odoo12/addons/base/data/base_data.sql
    

3. 确认数据库用户权限

确保Odoo 12对应的PostgreSQL用户拥有足够权限:

  • 登录PostgreSQL:sudo -u postgres psql
  • 执行权限赋予命令:ALTER USER odoo12 WITH SUPERUSER;
  • 重启PostgreSQL服务:sudo systemctl restart postgresql

4. 校验Odoo配置文件

检查配置文件(通常在/etc/odoo/odoo.conf)中的数据库参数是否正确:

[options]
db_host = localhost
db_port = 5432
db_user = odoo12
db_password = your_password

保存后重启Odoo 12服务,重新尝试创建数据库。

内容的提问来源于stack exchange,提问作者Siwar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 07:47:24