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

问题描述 投票:0回答:2

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

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

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

感谢您的帮助。

我的环境和TYPO3版本:

  • TYPO3 v10.4.20

  • Windows 10 (WSL)

  • Docker 桌面 3.5.2

  • DDEV-本地版本v1.17.7

  • AMD64架构

  • db drud/ddev-dbserver-mariadb-10.3:v1.17.7

  • dba phpmyadmin:5

  • ddev-ssh-agent drud/ddev-ssh-agent:v1.17.0

  • docker 20.10.7

  • docker-compose 1.29.2

  • 操作系统linux

  • 路由器 drud/ddev-router:v1.17.6

  • web drud/ddev-webserver:v1.17.7

docker typo3 ddev
2个回答
3
投票

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

  1. 在项目 config.yaml 中使用
    disable_settings_management: true
    。那么您和您独自负责设置文件。
  2. 接管设置文件。在这种情况下,这将是AdditionalConfiguration.php。您只需从中删除
    #ddev-generated
    并将其签入或执行其他操作即可。那么 ddev 就不会碰它了。

有关更多详细信息和细微差别,请参阅有关此主题的文档,https://ddev.readthedocs.io/en/stable/users/usage/cms-settings/

我想你也可以在 TYPO3 设置中覆盖设置在包含/执行AdditionalSettings.php之后


3
投票
正如兰迪·费伊所说,这是可能的。我会避免使用共享数据库或开发实例。

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

然后团队成员 B 运行数据库架构升级 f 以他为例,他可能会毁掉很多工作。

并且有很多类似的情况,lokal 配置和数据库齐头并进。

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

因此,脚本会创建夜间数据库和文件管理备份。然后创建开发人员快照(通过清理敏感数据和缓存数据)

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

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

并根据我们的 ddev 的需求。我认为在实践中,我们开发人员每一两个月更新一次数据库。因为大多数内容更改与我们开发者无关。

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

© www.soinside.com 2019 - 2024. All rights reserved.