diff --git a/README.md b/README.md index ae8755b..51770f0 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,15 @@ # Wizaplace PHP ETL (WP-ETL) [![License](https://poser.pugx.org/marquine/php-etl/license)](https://packagist.org/packages/marquine/php-etl) +[![CircleCI](https://circleci.com/gh/wizaplace/php-etl/tree/master.svg?style=svg)](https://circleci.com/gh/wizaplace/php-etl/tree/master) +[![Version](https://img.shields.io/github/v/release/wizaplace/php-etl)](https://circleci.com/gh/wizaplace/php-etl/tree/master) +[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](https://GitHub.com/wizaplace/php-etl/graphs/commit-activity) +[![Ask Me Anything !](https://img.shields.io/badge/Ask%20me-anything-1abc9c.svg)](https://GitHub.com/wizaplace/php-etl) Extract, Transform and Load data using PHP. +This library provides classes and a workflow to allow you to extract data from various sources (CSV, DB...), one or many, then transform them before saving them in another format. + +You can also easily add your custom classes (Extractors, Transformers and Loaders). ![ETL](docs/img/etl.svg) @@ -15,7 +22,7 @@ In your application's folder, run: composer require wizaplace/php-etl ``` -## Example +## Example :light_rail: In the example below, we will extract data from a csv file, trim white spaces from the name and email columns and then insert the values into the users table: ```php use Wizaplace\Etl\Etl; @@ -48,7 +55,7 @@ _services.yaml_ Wizaplace\Etl\Etl: shared: false ``` -## Documentation +## Documentation :notebook: The documentation is available in a subfolder of the repo, [here](docs/README.md). ## License diff --git a/changelog.MD b/changelog.MD index bc38882..0fcd9a4 100644 --- a/changelog.MD +++ b/changelog.MD @@ -1,9 +1,25 @@ # Changelog -## Changes for future versions -* Refactor the code where the PHP function extract() is used +## 1.1 -## Changes for release 1.0 (the first one since the fork) +**New features** +* Throw an exception when the CSV source file is not found during extraction. +* Add an optional parameter on the CSV extractor: if set to true it will raise an exception when trying to access non existing columns. +* Add a CSV loader, to be able to ETL from a CSV to another. +* Add the possibility to use multiple extractors and combine them. + +**Bufixes** +* Fix an old bug on multilines CSV extraction. +* Fix on ignored discarded rows (only the loader was ignoring them). +* On the ConvertCase transformer : fix to properly handle the change of behavior between PHP 7.2 and 7.3. + +**Miscellaneous** +* Improve CI with quality tools (PHPCS, PHPStan...). +* CI: unit tests with PHP 7.2 to 7.4. +* Code cleanup to progressively comply with modern standards. + + +## Changes for the release 1.0 (the first one since the fork) * Remove all the old DI system of Laravel (Illuminate): * * to make it fully compatible with any PHP Application