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

OroCRM Enterprise 5.1本地部署安装失败求助:数据库表未创建

问题描述

尝试在本地虚拟机评估OroCRM Enterprise Edition 5.1(最新稳定版),发现无Virtualbox镜像,按照官方文档通过composer或git clone方式安装时,执行cache:clear --env=prod脚本失败,报错如下:

Executing script cache:clear --env=prod [KO]
[KO]
Script cache:clear --env=prod returned with error code 1
!!
!! // Clearing the cache for the prod environment with debug
!! // false
!!
!!
!! In AbstractPostgreSQLDriver.php line 82:
!!
!! An exception occurred while executing 'SELECT o0_.id AS id_0, o0_.parent_id
!! AS sclr_1, o1_.code AS code_2 FROM oro_localization o0_ INNER JOIN oro_lan
!! guage o1_ ON o0_.language_id = o1_.id':
!!
!! SQLSTATE[42P01]: Undefined table: 7 ERROR: relation "oro_localization" doe
!! s not exist
!! LINE 1: ... o0_.parent_id AS sclr_1, o1_.code AS code_2 FROM oro_locali...
!! ^

已手动创建PostgreSQL 15的oro_db_user及密码,当前数据库连接无问题,但PostgreSQL中未生成任何表,推测安装脚本未执行数据库迁移,寻求解决建议。

解决建议
  • 确认数据库实例已创建:你仅创建了数据库用户,但可能未建立对应的数据库。通过PostgreSQL客户端执行以下SQL:

    CREATE DATABASE oro_crm_enterprise;
    GRANT ALL PRIVILEGES ON DATABASE oro_crm_enterprise TO oro_db_user;
    

    同时检查.env文件中的DATABASE_URL配置,确保数据库名称与上述创建的一致,格式示例:

    DATABASE_URL="postgresql://oro_db_user:your_password@127.0.0.1:5432/oro_crm_enterprise?serverVersion=15&charset=utf8"
    
  • 手动执行数据库迁移:跳过自动安装流程中的缓存步骤,先完成数据库初始化与迁移:

    # 确保数据库存在(可选,重复执行无影响)
    php bin/console doctrine:database:create --if-not-exists
    # 执行所有数据库迁移脚本
    php bin/console doctrine:migrations:migrate --no-interaction --env=prod
    

    若提示迁移文件不存在,需确认已正确获取完整的企业版源码(包含迁移文件),composer安装时需保证企业版仓库权限配置正常。

  • 重新执行缓存清除:数据库迁移完成后,再执行缓存清理命令:

    php bin/console cache:clear --env=prod
    
  • 检查环境依赖与权限:确认PHP环境已安装OroCRM要求的所有扩展(如pdo_pgsql、intl、gd等),同时确保项目目录下var/和public/有写入权限:

    chmod -R 777 var/ public/
    

    (生产环境建议使用更严格的权限策略,评估阶段可临时放宽)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 03:42:38