PHP-ETL - Understand the ETL

FAQ

Why isn’t there a database extract ?

PHP-Etl is a library, not meant to be used standalone, it is meant to be used inside symfony, or magento projects. Each of these framework/cms’s have their own way of handling the database.

The symfony bundle will allow you to use doctrine for example.

Is there a validation of the chain configuration ?

That depends which configuration paradigm you’re using.

With the legacy YAML ChainBuilder, yes: options are validated against a Symfony Constraint per operation, and you get a field-scoped error like this :

There was an error building the operation 'simple-grouping' : 
 - "grouping-key" : This field is missing.
 - "file" : This field was not expected.

With the current ChainConfig/ChainBuilderV2 paradigm, each operation config validates itself in its own validate() method, and throws a plain \InvalidArgumentException with a message specific to that operation instead, e.g. :

Group key cannot be empty

How is this project maintained

I use this project pretty much daily so any “big” issues should be fixed quite fast. The project is also used by projects I am not working on. But I am handling the evolutions and maintenance during my free time so I might have other priorities that prevent me from updating quickly.

Version number do follow semantic versioning, and patch versions should never introduce a Breaking Change. Minor release can deprecate some features but should not introduce Breaking Changes either.