覆盖 TYPO3 中 DDEV 的默认数据库设置以指向外部数据库

Overriding DDEV's default db settings in TYPO3 to point to an external Database

我们希望在我们的团队中为我们的项目使用相同的(登台)数据库。所以我们可以使用 DDEV 在我们的本地机器上开发并且可以共享数据库,所以我们不必导出数据库并将其导入到其他团队成员的机器上。 DDEV 项目也存储在 GIT Repo 中,因此每个团队成员都可以将 DDEV 容器的最新设置拉到他们的本地机器上。

如果我修改 AdditionalConfiguration.php,我可以访问外部数据库,但是如果 DDEV 容器重新启动,它会覆盖 AdditionalConfiguration.php 文件。我还没有找到在 ddev contaienr 配置中设置数据库连接的方法,因此当容器启动时,它会在 AdditionalConfiguration.php.

中设置正确的数据库连接(外部数据库)

有谁知道如何在 DDEV 容器中设置自定义数据库连接?

感谢您的帮助。

我的环境和 TYPO3 版本:

在ddev中有很多方法可以管理你的设置文件,你可以告诉ddev不要管理你的设置文件。

  1. 在您的项目 config.yaml 中使用 disable_settings_management: true。然后您和您自己负责设置文件。
  2. 接管设置文件。在这种情况下,它将是 AdditionalConfiguration.php。您只需从中删除 #ddev-generated 并签入或其他任何内容。那么ddev就不会碰了。

有关更多详细信息和细微差别,请参阅有关此主题的文档,https://ddev.readthedocs.io/en/latest/users/topics/settings_files/

我想你也可以覆盖 TYPO3 设置中的设置 inclusion/execution of AdditionalSettings.php

之后

randy fay说的有可能。我会避免共享数据库 vor 开发实例。

假设团队成员 A 使用一些数据库表创建了一个新扩展,并花了一些时间输入测试数据。

然后团队成员 B 运行数据库架构升级 f 在他的例子中,他可能会破坏很多工作。

本地配置和数据库齐头并进的类似案例还有很多。

我们的团队建立了以下流程: 代码从开发运行到生产。 数据从生产到开发。

因此脚本创建了每晚的数据库和文件管理备份。然后创建开发者快照(通过清除敏感数据和缓存数据)

此开发转储放在 SFTP 服务器上。

然后每晚将最新的转储导入预生产 每周一次进行质量检查(如果需要创建新页面等记录,我们有一周的时间让质量检查团队接受更改)

并根据我们的 ddev 需求。我认为实际上我们开发人员每 1 或 2 个月更新一次数据库。因为大多数内容更改与我们开发人员无关。

我们提供了一个客户 ddev 脚本,用于下载最后一个转储并将其导入。