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

两个DDEV Laravel项目能否共享单个数据库实例?

在DDEV中让两个Laravel项目共享数据库实例的实现方案

完全可行,你提到的使用docker-compose.db-override.yaml配置项目B是正确的思路,具体操作步骤如下:

1. 确认项目A的数据库容器信息

  • 正常启动项目A:ddev start
  • 执行ddev describe查看数据库容器名称(格式通常为ddev-<项目A名称>-db),以及数据库的用户名、密码、库名(默认都是db,如果有自定义需记录)

2. 配置项目B连接项目A的数据库容器

在项目B的.ddev目录下创建docker-compose.db-override.yaml文件,内容如下(替换<项目A名称>为实际项目A的DDEV项目名):

version: '3.6'
services:
  db:
    external:
      name: ddev-<项目A名称>-db

3. 修改项目B的数据库连接配置

编辑项目B根目录下的.env文件,配置与项目A一致的数据库连接信息:

DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=db
DB_USERNAME=db
DB_PASSWORD=db

如果项目A使用了自定义的数据库名、用户名或密码,替换为对应的值即可。

4. 启动项目B

执行ddev start启动项目B,此时项目B会直接关联项目A的数据库容器,两个项目可以同时运行。

注意事项

  • 确保两个项目处于同一DDEV网络(默认都是ddev_default,无需额外配置)
  • 必须先启动项目A创建数据库容器,再启动项目B,否则项目B会因找不到数据库容器报错
  • 数据库迁移、种子等初始化操作仅需在项目A中执行,项目B直接读取已有数据即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 19:52:07