Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
clever_age_process:
configurations:
demo.doctrine.read:
demo.doctrine.database.read:
description: >
A simple process to use DoctrineProcessBundle as database reader
help: >
Ex: bin/console cleverage:process:execute demo.doctrine.read
Ex: bin/console cleverage:process:execute demo.doctrine.database.read
options:
ui:
source: Bar
Expand All @@ -13,8 +13,8 @@ clever_age_process:
entry:
service: '@CleverAge\DoctrineProcessBundle\Task\Database\DatabaseReaderTask'
options:
table: 'process_user'
table: 'book'
outputs: [debug]

debug:
service: '@CleverAge\ProcessBundle\Task\Debug\DebugTask'
service: '@CleverAge\ProcessBundle\Task\Debug\DebugTask'
31 changes: 31 additions & 0 deletions config/packages/process/demo.doctrine.database.update.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
clever_age_process:
configurations:
demo.doctrine.database.update:
description: >
A simple process to use DoctrineProcessBundle as database updater
help: >
Ex: bin/console cleverage:process:execute demo.doctrine.database.update -c firstname:Paul -c lastname:Durant
options:
ui:
source: Bar
target: Foo
entrypoint_type: text
default:
context:
- key: firstname
value: Steven
- key: lastname
value: King
tasks:
entry:
service: '@CleverAge\DoctrineProcessBundle\Task\Database\DatabaseUpdaterTask'
options:
sql: 'update author set firstname = :firstname, lastname = :lastname'
input_as_params: false
params:
firstname: '{{ firstname }}'
lastname: '{{ lastname }}'
outputs: [debug]

debug:
service: '@CleverAge\ProcessBundle\Task\Debug\DebugTask'
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
clever_age_process:
configurations:
demo.doctrine.entitymanager.batch_writer:
description: >
A simple process to use DoctrineProcessBundle as entity batch_writer
help: >
Ex: bin/console cleverage:process:execute demo.doctrine.entitymanager.batch_writer
options:
ui:
source: Bar
target: Foo
tasks:
entry:
service: '@CleverAge\ProcessBundle\Task\ConstantIterableOutputTask'
options:
output:
- author1:
firstname: Firstname 1
lastname: Lastname
- author2:
firstname: Firstname 2
lastname: Lastname
- author3:
firstname: Firstname 3
lastname: Lastname
outputs: [iterate]
iterate:
service: '@CleverAge\ProcessBundle\Task\InputIteratorTask'
outputs: [denormalizer]
denormalizer:
service: '@CleverAge\ProcessBundle\Task\Serialization\DenormalizerTask'
options:
class: App\Entity\Author
outputs: [batch_write]
batch_write:
service: '@CleverAge\DoctrineProcessBundle\Task\EntityManager\DoctrineBatchWriterTask'
outputs: [aggregate_write]
options:
batch_count: 2
aggregate_write:
service: '@CleverAge\ProcessBundle\Task\AggregateIterableTask'
outputs: [fetch]
fetch:
service: '@CleverAge\DoctrineProcessBundle\Task\EntityManager\DoctrineReaderTask'
options:
class_name: 'App\Entity\Author'
criteria:
lastname: 'Lastname'
outputs: [agregate_fetch]
agregate_fetch:
service: '@CleverAge\ProcessBundle\Task\AggregateIterableTask'
outputs: [dump]
dump:
service: '@CleverAge\ProcessBundle\Task\Debug\DebugTask'
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
clever_age_process:
configurations:
demo.doctrine.entitymanager.reader_cleaner:
description: >
A simple process to use DoctrineProcessBundle as entity reader (then clean the entitymanager)
help: >
Ex: bin/console cleverage:process:execute demo.doctrine.entitymanager.reader_cleaner
options:
ui:
source: Bar
target: Foo
tasks:
entry:
service: '@CleverAge\DoctrineProcessBundle\Task\EntityManager\DoctrineReaderTask'
options:
class_name: 'App\Entity\Author'
criteria:
lastname: 'King'
order_by:
lastname: 'asc'
outputs: [dump]

dump:
service: '@CleverAge\ProcessBundle\Task\Debug\DebugTask'
outputs: [clean]

clean:
service: '@CleverAge\DoctrineProcessBundle\Task\EntityManager\DoctrineCleanerTask'
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
clever_age_process:
configurations:
demo.doctrine.entitymanager.reader_clearer:
description: >
A simple process to use DoctrineProcessBundle as entity reader (then clear the entitymanager)
help: >
Ex: bin/console cleverage:process:execute demo.doctrine.entitymanager.reader_clear
options:
ui:
source: Bar
target: Foo
tasks:
entry:
service: '@CleverAge\DoctrineProcessBundle\Task\EntityManager\DoctrineReaderTask'
options:
class_name: 'App\Entity\Author'
criteria:
lastname: 'King'
order_by:
lastname: 'asc'
outputs: [dump]

dump:
service: '@CleverAge\ProcessBundle\Task\Debug\DebugTask'
outputs: [clear]

clear:
service: '@CleverAge\DoctrineProcessBundle\Task\EntityManager\ClearEntityManagerTask'
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
clever_age_process:
configurations:
demo.doctrine.entitymanager.reader_detacher:
description: >
A simple process to use DoctrineProcessBundle as entity reader then detach the entity
help: >
Ex: bin/console cleverage:process:execute demo.doctrine.entitymanager.reader_detacher
options:
ui:
source: Bar
target: Foo
tasks:
entry:
service: '@CleverAge\DoctrineProcessBundle\Task\EntityManager\DoctrineReaderTask'
options:
class_name: 'App\Entity\Author'
criteria:
lastname: 'King'
order_by:
lastname: 'asc'
outputs: [dump]

dump:
service: '@CleverAge\ProcessBundle\Task\Debug\DebugTask'
outputs: [detach]

detach:
service: '@CleverAge\DoctrineProcessBundle\Task\EntityManager\DoctrineDetacherTask'
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
clever_age_process:
configurations:
demo.doctrine.entitymanager.reader_refresher:
description: >
A simple process to use DoctrineProcessBundle as entity reader, modify the entity then refresh it
help: >
Ex: bin/console cleverage:process:execute demo.doctrine.entitymanager.reader_refresher
options:
ui:
source: Bar
target: Foo
tasks:
entry:
service: '@CleverAge\DoctrineProcessBundle\Task\EntityManager\DoctrineReaderTask'
options:
class_name: 'App\Entity\Author'
criteria:
lastname: 'King'
order_by:
lastname: 'asc'
outputs: [dump]

dump:
service: '@CleverAge\ProcessBundle\Task\Debug\DebugTask'
outputs: [modify]

modify:
service: '@CleverAge\ProcessBundle\Task\PropertySetterTask'
options:
values:
firstname: Gérard
outputs: [dump_modified]

dump_modified:
service: '@CleverAge\ProcessBundle\Task\Debug\DebugTask'
outputs: [refresh]

refresh:
service: '@CleverAge\DoctrineProcessBundle\Task\EntityManager\DoctrineRefresherTask'
outputs: [dump_refreshed]

dump_refreshed:
service: '@CleverAge\ProcessBundle\Task\Debug\DebugTask'
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
clever_age_process:
configurations:
demo.doctrine.entitymanager.reader_remover:
description: >
A simple process to use DoctrineProcessBundle as entity reader (remove the entity and tries to fetch the same entity)
help: >
Ex: bin/console cleverage:process:execute demo.doctrine.entitymanager.reader_remover
options:
ui:
source: Bar
target: Foo
tasks:
entry:
service: '@CleverAge\DoctrineProcessBundle\Task\EntityManager\DoctrineReaderTask'
options:
class_name: 'App\Entity\Book'
criteria:
title: 'Dracula'
outputs: [dump]

dump:
service: '@CleverAge\ProcessBundle\Task\Debug\DebugTask'
outputs: [remover]

remover:
service: '@CleverAge\DoctrineProcessBundle\Task\EntityManager\DoctrineRemoverTask'
outputs: [refetch]

refetch:
service: '@CleverAge\DoctrineProcessBundle\Task\EntityManager\DoctrineReaderTask'
options:
class_name: 'App\Entity\Book'
criteria:
title: 'Dracula'
outputs: [dumpnullid]

dumpnullid:
service: '@CleverAge\ProcessBundle\Task\Debug\DebugTask'
36 changes: 36 additions & 0 deletions config/packages/process/demo.doctrine.entitymanager.writer.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
clever_age_process:
configurations:
demo.doctrine.entitymanager.writer:
description: >
A simple process to use DoctrineProcessBundle as entity writer
help: >
Ex: bin/console cleverage:process:execute demo.doctrine.entitymanager.writer
options:
ui:
source: Bar
target: Foo
tasks:
entry:
service: '@CleverAge\ProcessBundle\Task\ConstantOutputTask'
options:
output:
firstname: Isaac
lastname: Asimov
outputs: [denormalize]
denormalize:
service: '@CleverAge\ProcessBundle\Task\Serialization\DenormalizerTask'
options:
class: App\Entity\Author
outputs: [save]
save:
service: '@CleverAge\DoctrineProcessBundle\Task\EntityManager\DoctrineWriterTask'
outputs: [fetch]
fetch:
service: '@CleverAge\DoctrineProcessBundle\Task\EntityManager\DoctrineReaderTask'
options:
class_name: 'App\Entity\Author'
criteria:
lastname: 'Asimov'
outputs: [dump]
dump:
service: '@CleverAge\ProcessBundle\Task\Debug\DebugTask'
35 changes: 35 additions & 0 deletions migrations/Version20241210154810.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<?php

declare(strict_types=1);

namespace DoctrineMigrations;

use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;

/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20241210154810 extends AbstractMigration
{
public function getDescription(): string
{
return 'Add author and book entities to demonstrate the clever/doctrine-process-bundle package - https://github.com/cleverage/process-bundle-demo/issues/19';
}

public function up(Schema $schema): void
{
// this up() migration is auto-generated, please modify it to your needs
$this->addSql('CREATE TABLE author (id INT AUTO_INCREMENT NOT NULL, firstname VARCHAR(255) NOT NULL, lastname VARCHAR(255) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE book (id INT AUTO_INCREMENT NOT NULL, author_id INT NOT NULL, title VARCHAR(255) NOT NULL, INDEX IDX_CBE5A331F675F31B (author_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('ALTER TABLE book ADD CONSTRAINT FK_CBE5A331F675F31B FOREIGN KEY (author_id) REFERENCES author (id)');
}

public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE book DROP FOREIGN KEY FK_CBE5A331F675F31B');
$this->addSql('DROP TABLE author');
$this->addSql('DROP TABLE book');
}
}
Loading
Loading