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

如何访问Odoo 16 Enterprise数据库并通过SQL删除记录

在Odoo 16企业版中通过SQL访问数据库的方法

方法1:用PostgreSQL命令行工具(psql)直接连接

  • 从Odoo配置文件(odoo.conf)里提取数据库连接信息:db_host、db_port、db_user、db_password,以及目标数据库名称
  • 打开终端,输入连接命令:
    psql -h <db_host> -p <db_port> -U <db_user> -d <你的数据库名>
    
    本地部署场景通常可简化为psql -U odoo -d your_db_name,按提示输入密码即可完成连接
  • 连接成功后,就能像在pgAdmin中一样执行SQL语句,比如删除指定记录:
    DELETE FROM res_partner WHERE id = 123;
    

方法2:通过Odoo Shell执行原生SQL

  • 启动Odoo Shell并指定目标数据库:
    odoo-shell -d <你的数据库名> -c odoo.conf
    
  • 进入Shell后,借助Odoo内置的数据库游标执行SQL:
    # 执行删除语句
    env.cr.execute("DELETE FROM res_partner WHERE id = 123;")
    # 手动提交事务(按需操作)
    env.cr.commit()
    
    这种方式无需额外配置数据库连接,直接复用Odoo的权限与配置,适合不想单独连接数据库的场景

必须注意的事项

  • 优先备份:执行删除操作前一定要对数据库做完整备份,避免误删数据无法恢复
  • 警惕关联数据:Odoo表间存在大量外键关联,直接删除单表记录可能导致数据混乱;若业务允许,优先使用Odoo的ORM方法删除(如env['res.partner'].browse(123).unlink()),它会自动处理关联子数据
  • 控制操作权限:确保使用的数据库用户具备对应读写权限,避免用超级用户随意操作,防止破坏数据库完整性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 20:52:08