-1

how do you handle user upload folders like fileadmin and the DB with ddev and TYPO3.

I would like to have the DB and media files outside of my ddev container as both can get really large over time and I don't want to sync them every time. Or do I have to?

It would be awesome to just have them on a central server where every developer has access to.

For the DB it is not the problem.

But as far as I know to mount the fileadmin outside of the ddev container is not possible.

How do you handle the DB and media files?

mhirdes
  • 273
  • 2
  • 12
  • 1
    Every night is a DB dump done and stored on a place accessible for developers. Then, use EXT:filefill, which downloads the relevant images for a particular page which should be rendered on the dev machine. So there is no need to package fileadmin. – Chris Aug 18 '22 at 08:08
  • You don't want to use a shared *database* because different devs will affect it. DDEV is for *local* development. Sharing a db *dump* is normal and standard. The same problem happens with files, but to a smaller extent. Just keep dumps of each available where devs can download them. Lots of people use very large databases with ddev, but you can sanitize, etc. – rfay Aug 18 '22 at 13:20

1 Answers1

1

For the companies I've worked for data for a development environment is either (1) rsynced from a central server or (2) have a minimal data set which is added to the git repository.

In case of option 1 there's usually an automated process which pulls data from production servers and cleans it up (removing cache/logs, anonymize any sensitive data, etc). The advantages of this option are you have (mostly) real data for your development environment and there's no need to manually manage a separate data set. The disadvantages are you might not have data to test all situations, data can get large and there's a chance you might miss sensitive data which could lead to data leaks.

In case of option 2 there's usually a way to generate random data to get a more filled development environment. The advantages to this option are you have a clean development environment, the data set is as small as it can be and there's no chance of leaking sensitive data. The disadvantages are you need to maintain a separate minimal data set, problems related to specific data might be harder to debug.

Personally I think 2 is the better option. You should not need production data for development as long as you have a good way to create realistic random data. Production data might actually miss a lot of situations you do need for development. Some content elements might not always be used, things like empty news lists might not happen (often) in production, etc. I also don't want to have to download several Gb of data if I have to change a small thing in a project I don't have locally yet.

Rudy Gnodde
  • 4,286
  • 2
  • 12
  • 34