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

Docker Compose构建警告及Django数据库角色/表异常求助

问题解决方案

1. 解决"The 'd' variable is not set"警告

这个警告来自Docker Compose或项目启动脚本中引用了未定义的环境变量$d,处理方式:

  • 检查项目根目录的docker-compose.yml、.env文件或启动脚本,定位使用${d}的位置
  • 若该变量无实际用途,直接删除对$d的引用;若需要保留,给它设置默认值,比如写成${d:-}(留空默认值)或${d:-your_default}

2. 数据库角色与表异常处理

2.1 "newrelic"用户不存在的认证错误

这是因为项目配置了New Relic监控,但PostgreSQL中未创建对应角色:

  • 若需要保留New Relic监控:
    1. 进入PostgreSQL容器:
      docker exec -it tarzan-memory psql -U postgres
      
    2. 创建用户并授权:
      CREATE ROLE newrelic WITH LOGIN PASSWORD 'your_set_password';
      GRANT CONNECT ON DATABASE your_target_db TO newrelic;
      GRANT SELECT ON ALL TABLES IN SCHEMA public TO newrelic;
      
    3. 同步项目中New Relic配置的数据库密码与上述设置一致
  • 若不需要New Relic监控:
    找到项目中New Relic相关配置(比如settings.py中的初始化代码、环境变量里的NEW_RELIC_*项),注释或删除这些配置

2.2 QRTZ系列表不存在的错误

这些表是Metabase调度器依赖的Quartz定时任务表,需要初始化表结构:

  • 执行Quartz的PostgreSQL初始化脚本:
    1. 获取对应Quartz版本的PostgreSQL初始化脚本(可从Quartz官方仓库或Metabase文档中获取)
    2. 进入容器执行脚本:
      docker exec -i tarzan-memory psql -U postgres -d your_target_db < quartz_postgres_init.sql
      
  • 若项目包含对应迁移文件,直接运行Django迁移:
    docker-compose run web python manage.py migrate
    
  • 确保Metabase服务的数据库连接配置正确,能正常访问目标数据库

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 22:05:15