Laravel Auditing配置独立数据库存审计日志时连接报错
解决Laravel审计日志独立数据库连接报错问题
报错原因
你在config/audit.php中指定了数据库连接adviserhub_audit_logs,但这个连接并未在config/database.php中配置,导致Laravel无法识别该连接,抛出InvalidArgumentException: Database connection [database_name] not configured错误。
解决步骤
步骤1:添加独立数据库连接配置
打开config/database.php,在connections数组中新增adviserhub_audit_logs的连接配置,参考现有MySQL连接格式,替换为你的审计数据库信息:'connections' => [ // 保留原有数据库连接(如mysql) 'adviserhub_audit_logs' => [ 'driver' => 'mysql', 'host' => env('AUDIT_DB_HOST', '127.0.0.1'), 'port' => env('AUDIT_DB_PORT', '3306'), 'database' => env('AUDIT_DB_DATABASE', 'audit_logs'), 'username' => env('AUDIT_DB_USERNAME', 'root'), 'password' => env('AUDIT_DB_PASSWORD', ''), 'charset' => 'utf8mb3', 'collation' => 'utf8mb3_general_ci', 'prefix' => '', 'prefix_indexes' => true, 'strict' => true, 'engine' => null, ], ],步骤2:配置环境变量
在项目根目录的.env文件中添加审计数据库的环境变量,避免硬编码敏感信息:AUDIT_DB_HOST=127.0.0.1 AUDIT_DB_PORT=3306 AUDIT_DB_DATABASE=你的审计数据库名称 AUDIT_DB_USERNAME=数据库用户名 AUDIT_DB_PASSWORD=数据库密码步骤3:执行迁移
若审计包自带迁移文件,执行迁移时可指定连接确保表创建在独立数据库中:php artisan migrate --database=adviserhub_audit_logs
注意:如果你的审计包是通过服务提供者自动加载迁移,需确认它会使用你指定的
adviserhub_audit_logs连接执行迁移。
内容的提问来源于stack exchange,提问作者GAkino
相关产品推荐
相关产品推荐

