From fb963f20fdd8579d0471c325ccea5d9c64812cb6 Mon Sep 17 00:00:00 2001 From: Howriq Date: Thu, 27 Nov 2025 18:13:16 +0200 Subject: [PATCH 1/4] Started docs chapter 2 Signed-off-by: Howriq --- README.md | 13 ------------- docs/book/v1/chapter-2.md | 0 mkdocs.yml | 3 ++- 3 files changed, 2 insertions(+), 14 deletions(-) create mode 100644 docs/book/v1/chapter-2.md diff --git a/README.md b/README.md index a102057..4339d56 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,3 @@ # tutorial-101 Book tutorial starting from Dotkernel Light: Level 101 beginner - -## BRANCH : - main unde e documentatia , se compileaza documentatia. aplicatie din light, deploy functional !!!! --> 101.dotkernel.net - - 1. instalezi light la tine pe WSL2 - 2. iei chapter 1, citesti documentation, implementezi una cite una - - CHAPTER-1-doctrine # protected - including Light, and add visible DIFF between branches - - CHAPTER-2- forms # protected - - CHAPTER-3- inputfilter # protected - - CHAPTER-4 -list books # protected - - main: incepi de la light , clone - - adaigi folderul docs/book cu structura asta https://github.com/dotkernel/dot-session/tree/5.0/docs/book - - cu fisier symlink si etc. diff --git a/docs/book/v1/chapter-2.md b/docs/book/v1/chapter-2.md new file mode 100644 index 0000000..e69de29 diff --git a/mkdocs.yml b/mkdocs.yml index e767e89..c3ef897 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -9,7 +9,8 @@ nav: - Home: index.md - Tutorial: - Introduction: v1/introduction.md - - Chapter 1: v1/chapter-1.md + - 1. Installing Doctrine: v1/chapter-1.md + - 2. Entities and Migrations: v1.chapter-2.md site_name: Dotkernel 101 site_description: "Beginner tutorial for using Dotkernel" repo_url: "https://github.com/dotkernel/tutorial-101" From f696a8e5e87fee5725d1a81db9ff2b4f3b4242ba Mon Sep 17 00:00:00 2001 From: Howriq Date: Thu, 27 Nov 2025 20:46:54 +0200 Subject: [PATCH 2/4] Docs chapter 2 Signed-off-by: Howriq --- docs/book/v1/chapter-1.md | 10 +- docs/book/v1/chapter-2.md | 535 ++++++++++++++++++ .../v1/images/{ => chapter-1}/composer.png | Bin .../{ => chapter-1}/config-provider-1.png | Bin .../{ => chapter-1}/config-provider-2.png | Bin .../v1/images/{ => chapter-1}/doctrine.png | Bin docs/book/v1/images/{ => chapter-1}/local.png | Bin .../v1/images/chapter-2/abstract-entity-1.png | Bin 0 -> 31279 bytes .../v1/images/chapter-2/abstract-entity-2.png | Bin 0 -> 18312 bytes .../v1/images/chapter-2/abstract-entity-3.png | Bin 0 -> 18204 bytes .../v1/images/chapter-2/abstract-repo.png | Bin 0 -> 26276 bytes docs/book/v1/images/chapter-2/book-1.png | Bin 0 -> 22488 bytes docs/book/v1/images/chapter-2/book-2.png | Bin 0 -> 9032 bytes docs/book/v1/images/chapter-2/book-config.png | Bin 0 -> 17434 bytes docs/book/v1/images/chapter-2/book-repo.png | Bin 0 -> 8600 bytes .../v1/images/{ => chapter-2}/cli-config.png | Bin docs/book/v1/images/chapter-2/composer.png | Bin 0 -> 5796 bytes .../v1/images/chapter-2/config-config.png | Bin 0 -> 8352 bytes .../v1/images/chapter-2/config-migrations.png | Bin 0 -> 17424 bytes .../{ => chapter-2}/doctrine-migrations.png | Bin docs/book/v1/images/chapter-2/uuid-type.png | Bin 0 -> 11899 bytes 21 files changed, 540 insertions(+), 5 deletions(-) rename docs/book/v1/images/{ => chapter-1}/composer.png (100%) rename docs/book/v1/images/{ => chapter-1}/config-provider-1.png (100%) rename docs/book/v1/images/{ => chapter-1}/config-provider-2.png (100%) rename docs/book/v1/images/{ => chapter-1}/doctrine.png (100%) rename docs/book/v1/images/{ => chapter-1}/local.png (100%) create mode 100644 docs/book/v1/images/chapter-2/abstract-entity-1.png create mode 100644 docs/book/v1/images/chapter-2/abstract-entity-2.png create mode 100644 docs/book/v1/images/chapter-2/abstract-entity-3.png create mode 100644 docs/book/v1/images/chapter-2/abstract-repo.png create mode 100644 docs/book/v1/images/chapter-2/book-1.png create mode 100644 docs/book/v1/images/chapter-2/book-2.png create mode 100644 docs/book/v1/images/chapter-2/book-config.png create mode 100644 docs/book/v1/images/chapter-2/book-repo.png rename docs/book/v1/images/{ => chapter-2}/cli-config.png (100%) create mode 100644 docs/book/v1/images/chapter-2/composer.png create mode 100644 docs/book/v1/images/chapter-2/config-config.png create mode 100644 docs/book/v1/images/chapter-2/config-migrations.png rename docs/book/v1/images/{ => chapter-2}/doctrine-migrations.png (100%) create mode 100644 docs/book/v1/images/chapter-2/uuid-type.png diff --git a/docs/book/v1/chapter-1.md b/docs/book/v1/chapter-1.md index 4640dc8..66dcb07 100644 --- a/docs/book/v1/chapter-1.md +++ b/docs/book/v1/chapter-1.md @@ -5,7 +5,7 @@ The first step is to add alongside your current packages the required entries for our Doctrine installation. We would add the following to our `composer.json` file located in our root folder: -![composer.json](images/composer.png) +![composer.json](images/chapter-1/composer.png) ```text "dotkernel/dot-cache": "^4.0", @@ -47,7 +47,7 @@ After successfully installing our dependencies, we now need to configure our Doc In the file `config/autoload/local.php` the structure would be updated like this: -![local.php](images/local.png) +![local.php](images/chapter-1/local.png) ```php $databases = [ @@ -84,9 +84,9 @@ This package takes all the provided configs from the `config/config.php` file an Our new `src/App/src/ConfigProvider.php` class would look like this now: -![config-provider-1](images/config-provider-1.png) +![config-provider-1](images/chapter-1/config-provider-1.png) -![config-provider-2](images/config-provider-2.png) +![config-provider-2](images/chapter-1/config-provider-2.png) ```php public function __invoke(): array @@ -165,7 +165,7 @@ private function getDoctrineConfig(): array Now that everything has been configured we only need to do one last thing, to create an executable for the Doctrine CLI. In our case we will create a `doctrine` file inside the application's `bin` directory: -![doctrine](images/doctrine.png) +![doctrine](images/chapter-1/doctrine.png) ```php #!/usr/bin/env php diff --git a/docs/book/v1/chapter-2.md b/docs/book/v1/chapter-2.md index e69de29..199be08 100644 --- a/docs/book/v1/chapter-2.md +++ b/docs/book/v1/chapter-2.md @@ -0,0 +1,535 @@ +# Entities and Migrations + +In the previous tutorial we have shown you how to install the basic functionality of Doctrine. +In this tutorial we are going to show you how to make changes to the database schema through `Entities` and `Migrations`. + +## What are Entities ? + +In Doctrine, entities are PHP classes that represent database tables. +Each property in the class corresponds to a column in the table. +Entities define the structure and behavior of your data. + +## What are Migrations ? + +Doctrine migrations are version-controlled changes to the database schema. +They allow you to safely update the structure of your database (create tables, add columns, etc.) over time — similar to Git for your database. + +## Setting Up the Migrations Functionality + +To enable Doctrine migrations, we configure the migrations section in the `getDoctrineConfig()` function from `src/App/ConfigProvider`. +This defines `where migration files will be stored`, as well as `how the migration table is managed`. +The configuration includes settings for the migrations table, execution tracking, and the path where new migration classes will be generated. + +![config-migrations](images/chapter-2/config-migrations.png) + +```php +'migrations' => [ + 'table_storage' => [ + 'table_name' => 'doctrine_migration_versions', + 'version_column_name' => 'version', + 'version_column_length' => 191, + 'executed_at_column_name' => 'executed_at', + 'execution_time_column_name' => 'execution_time', + ], + // Modify this line based on where you would like to have your migrations + 'migrations_paths' => [ + 'Migrations' => 'src/App/src/Migration', + ], + 'all_or_nothing' => true, + 'check_database_platform' => true, +], +``` + +Along with those we also need to create the file `config/cli-config.php`. +This `cli-config.php` file sets up Doctrine so that you can run **migration commands** from the command line (CLI). +It connects the Doctrine Migrations system with your application's existing `EntityManager`. + +![cli-config](images/chapter-2/cli-config.png) + +```php +get(EntityManager::class); +$entityManager->getEventManager(); + +return DependencyFactory::fromEntityManager( + new ConfigurationArray($container->get('config')['doctrine']['migrations']), + new ExistingEntityManager($entityManager) +); +``` + +## Used UUID type + +In our latest releases we have decided to switch from a `binary UUID to a string UUID`. +Because of that, we are also implementing our own custom UUID type in the folder `src/App/src/DBAL/Types/UuidType.php`. +With this method we can also add our own custom types in the future. + +![uuid-type](images/chapter-2/uuid-type.png) + +```php +id = Uuid::uuid7(); + } + + public function getId(): UuidInterface + { + return $this->id; + } + + public function setId(UuidInterface $id): static + { + $this->id = $id; + + return $this; + } + + public function getCreated(): ?DateTimeImmutable + { + return $this->created; + } + + public function getCreatedFormatted(string $dateFormat = 'Y-m-d H:i:s'): string + { + return $this->created->format($dateFormat); + } + + public function getUpdated(): ?DateTimeImmutable + { + return $this->updated; + } + + public function getUpdatedFormatted(string $dateFormat = 'Y-m-d H:i:s'): ?string + { + if ($this->updated instanceof DateTimeImmutable) { + return $this->updated->format($dateFormat); + } + + return null; + } + + #[ORM\PrePersist] + public function created(): void + { + $this->created = new DateTimeImmutable(); + } + + #[ORM\PreUpdate] + public function touch(): void + { + $this->updated = new DateTimeImmutable(); + } + + /** + * @param array $array + */ + public function exchangeArray(array $array): void + { + foreach ($array as $property => $values) { + if (is_array($values)) { + $method = 'add' . ucfirst($property); + if (! method_exists($this, $method)) { + continue; + } + foreach ($values as $value) { + $this->$method($value); + } + } else { + $method = 'set' . ucfirst($property); + if (! method_exists($this, $method)) { + continue; + } + $this->$method($values); + } + } + } +} +``` + +We extend this class to **any Entity** that we create so that all can have an identifier(`id`), a field for knowing when it was `created` and one to mark a point in time for when we `update` it. + +It is time to finally time to work on our `Book` Entity. +We now create a new module with the location `src/Book/src`. +In this module we create a directory called `Entity` in which we shall create our `Book.php` class. + +![book-1](images/chapter-2/book-1.png) +![book-2](images/chapter-2/book-2.png) + +```php +title; + } + + public function setTitle(string $title): void + { + $this->title = $title; + } + + public function getAuthor(): ?string + { + return $this->author; + } + + public function setAuthor(string $author): void + { + $this->author = $author; + } + + /** + * @return array{ + * id: non-empty-string, + * title: string, + * author: string + * } + */ + public function getArrayCopy(): array + { + return [ + 'id' => $this->id->toString(), + 'title' => $this->title, + 'author' => $this->author, + ]; + } +} +``` + +In the book class you can see various Doctrine tags such as `#[ORM\Table(name: 'books')]` which specifies the name of the table that will be related to this Entity. +There are plenty of tags that can be added, but for the sake of simplicity we shall just stick to the table and the columns that will populate it. + +## Repositories + +In the class that we have created previously you might have noticed that our Entity is related to a Repository: `#[ORM\Entity(repositoryClass: BookRepository::class)]`. +We have specified which Repository will handle queries for this Entity. +This allows us to write custom database logic for it. + +Same as for the Entities, we need to create a base and our future Repositories. +Because of that we will create two new directories: `src/App/src/Repository` and `src/Book/src/Repository`. + +Two repositories shall be created: + +- `src/App/src/Repository/AbstractRepository.php` + +![abstract-repo](images/chapter-2/abstract-repo.png) + +```php + + */ +class AbstractRepository extends EntityRepository +{ + public function deleteResource(EntityInterface $resource): void + { + $this->getEntityManager()->remove($resource); + $this->getEntityManager()->flush(); + } + + public function getQueryBuilder(): QueryBuilder + { + return $this->getEntityManager()->createQueryBuilder(); + } + + public function saveResource(EntityInterface $resource): void + { + $this->getEntityManager()->persist($resource); + $this->getEntityManager()->flush(); + } +} +``` + +- `src/App/src/Book/BookRepository.php` + +![book-repo](images/chapter-2/book-repo.png) + +```php + $this->getDoctrineConfig(), + ]; + } + + private function getDoctrineConfig(): array + { + return [ + 'driver' => [ + 'orm_default' => [ + 'drivers' => [ + 'Light\Book\Entity' => 'BookEntities', + ], + ], + 'BookEntities' => [ + 'class' => AttributeDriver::class, + 'cache' => 'array', + 'paths' => [__DIR__ . '/Entity'], + ], + ], + ]; + } +} +``` + +This class should be added in `config/config.php`. + +![config-config](images/chapter-2/config-config.png) + +```php +\Light\Book\ConfigProvider::class, +``` + +### Step 2 + +Registering the namespace is fairly simple. +We just add it in our `composer.json` file by adding `"Light\\Book\\": "src/Book/src/"` under the `autoload`.`psr-4` key: + +![composer](images/chapter-2/composer.png), + +```text +"Light\\Book\\": "src/Book/src/" +``` + +We now have to run the following command to have it registered: + +```shell +composer dump-autoload +``` + +The module is now registered. + +### Step 3 + +For the last step we will create a migration using our `bin/doctrine-migrations` file and then execute it: + +```shell +php bin/doctrine-migrations.php migrations:diff +``` + +You should get an output similar to: + +```terminaloutput +Generated new migration class to "src/App/src/Migration/Version20251127183637.php" +``` + +The `migrations:diff` flag tells Doctrine to compare our current database schema and create a file in which the differences will be transformed into SQL syntax. +Inside this file you should have something similar to: + +```php +final class Version20251127183637 extends AbstractMigration +{ + public function getDescription(): string + { + return ''; + } + + public function up(Schema $schema): void + { + // this up() migration is auto-generated, please modify it to your needs + $this->addSql('CREATE TABLE books (title VARCHAR(500) DEFAULT NULL, author VARCHAR(500) DEFAULT NULL, id UUID NOT NULL, created DATETIME NOT NULL, updated DATETIME DEFAULT NULL, PRIMARY KEY (id)) DEFAULT CHARACTER SET utf8mb4'); + } + + public function down(Schema $schema): void + { + // this down() migration is auto-generated, please modify it to your needs + $this->addSql('DROP TABLE books'); + } +} +``` + +We only have to execute the migrations now with the command: + +```shell +php bin/doctrine-migrations.php migrations:migrate +``` + +The output should be similar to this: +```terminaloutput +[OK] Successfully migrated to version: Migrations\Version2025112718363 +``` diff --git a/docs/book/v1/images/composer.png b/docs/book/v1/images/chapter-1/composer.png similarity index 100% rename from docs/book/v1/images/composer.png rename to docs/book/v1/images/chapter-1/composer.png diff --git a/docs/book/v1/images/config-provider-1.png b/docs/book/v1/images/chapter-1/config-provider-1.png similarity index 100% rename from docs/book/v1/images/config-provider-1.png rename to docs/book/v1/images/chapter-1/config-provider-1.png diff --git a/docs/book/v1/images/config-provider-2.png b/docs/book/v1/images/chapter-1/config-provider-2.png similarity index 100% rename from docs/book/v1/images/config-provider-2.png rename to docs/book/v1/images/chapter-1/config-provider-2.png diff --git a/docs/book/v1/images/doctrine.png b/docs/book/v1/images/chapter-1/doctrine.png similarity index 100% rename from docs/book/v1/images/doctrine.png rename to docs/book/v1/images/chapter-1/doctrine.png diff --git a/docs/book/v1/images/local.png b/docs/book/v1/images/chapter-1/local.png similarity index 100% rename from docs/book/v1/images/local.png rename to docs/book/v1/images/chapter-1/local.png diff --git a/docs/book/v1/images/chapter-2/abstract-entity-1.png b/docs/book/v1/images/chapter-2/abstract-entity-1.png new file mode 100644 index 0000000000000000000000000000000000000000..af447bc7020ab2e8b8b9f167e4e8721efee29c9f GIT binary patch literal 31279 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 Mb={lAst<$z3(q=}%K!iX literal 0 HcmV?d00001 diff --git a/docs/book/v1/images/chapter-2/abstract-entity-2.png b/docs/book/v1/images/chapter-2/abstract-entity-2.png new file mode 100644 index 0000000000000000000000000000000000000000..47c57f1f5498d797b8218d4c92fffba322edff4e GIT binary patch literal 18312 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 literal 0 HcmV?d00001 diff --git a/docs/book/v1/images/chapter-2/abstract-entity-3.png b/docs/book/v1/images/chapter-2/abstract-entity-3.png new file mode 100644 index 0000000000000000000000000000000000000000..8f84876a8c4eceb01178a2c963655c2f5fbcd457 GIT binary patch literal 18204 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 literal 0 HcmV?d00001 diff --git a/docs/book/v1/images/chapter-2/abstract-repo.png b/docs/book/v1/images/chapter-2/abstract-repo.png new file mode 100644 index 0000000000000000000000000000000000000000..ef2ea5df081d57ff0301aa48fd35e39080a124d4 GIT binary patch literal 26276 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 literal 0 HcmV?d00001 diff --git a/docs/book/v1/images/chapter-2/book-1.png b/docs/book/v1/images/chapter-2/book-1.png new file mode 100644 index 0000000000000000000000000000000000000000..8402a9d135c7f49d95296686e4f122b6d99d9a68 GIT binary patch literal 22488 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 A4*&oF literal 0 HcmV?d00001 diff --git a/docs/book/v1/images/chapter-2/book-2.png b/docs/book/v1/images/chapter-2/book-2.png new file mode 100644 index 0000000000000000000000000000000000000000..7479e5d76e52639acb4dd1bdd5d983f52a33128c GIT binary patch literal 9032 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 literal 0 HcmV?d00001 diff --git a/docs/book/v1/images/chapter-2/book-config.png b/docs/book/v1/images/chapter-2/book-config.png new file mode 100644 index 0000000000000000000000000000000000000000..cb9e465aa211d93299402f15cec7a73ac26b1c86 GIT binary patch literal 17434 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 literal 0 HcmV?d00001 diff --git a/docs/book/v1/images/chapter-2/book-repo.png b/docs/book/v1/images/chapter-2/book-repo.png new file mode 100644 index 0000000000000000000000000000000000000000..59d5228d80d9e408eef98b172c42510dc3fd9f3f GIT binary patch literal 8600 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 Jn4SOazW|)(FjN2l literal 0 HcmV?d00001 diff --git a/docs/book/v1/images/chapter-2/config-config.png b/docs/book/v1/images/chapter-2/config-config.png new file mode 100644 index 0000000000000000000000000000000000000000..d6bd0430fae0410bb1171bda4686564fb81842a1 GIT binary patch literal 8352 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 literal 0 HcmV?d00001 diff --git a/docs/book/v1/images/doctrine-migrations.png b/docs/book/v1/images/chapter-2/doctrine-migrations.png similarity index 100% rename from docs/book/v1/images/doctrine-migrations.png rename to docs/book/v1/images/chapter-2/doctrine-migrations.png diff --git a/docs/book/v1/images/chapter-2/uuid-type.png b/docs/book/v1/images/chapter-2/uuid-type.png new file mode 100644 index 0000000000000000000000000000000000000000..1de90098ab5b9dfba08394f73ca3e12453f7e16f GIT binary patch literal 11899 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 Date: Thu, 27 Nov 2025 20:49:21 +0200 Subject: [PATCH 3/4] Docs chapter 2 Signed-off-by: Howriq --- docs/book/v1/chapter-2.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/book/v1/chapter-2.md b/docs/book/v1/chapter-2.md index 199be08..97c96a7 100644 --- a/docs/book/v1/chapter-2.md +++ b/docs/book/v1/chapter-2.md @@ -336,7 +336,7 @@ We have specified which Repository will handle queries for this Entity. This allows us to write custom database logic for it. Same as for the Entities, we need to create a base and our future Repositories. -Because of that we will create two new directories: `src/App/src/Repository` and `src/Book/src/Repository`. +Because of that, we will create two new directories: `src/App/src/Repository` and `src/Book/src/Repository`. Two repositories shall be created: @@ -530,6 +530,7 @@ php bin/doctrine-migrations.php migrations:migrate ``` The output should be similar to this: + ```terminaloutput [OK] Successfully migrated to version: Migrations\Version2025112718363 ``` From b08035bc161b07755d6beeef2cf73acdd0fdd6ac Mon Sep 17 00:00:00 2001 From: Howriq Date: Fri, 28 Nov 2025 13:22:46 +0200 Subject: [PATCH 4/4] Docs chapter 2 Signed-off-by: Howriq --- docs/book/v1/chapter-2.md | 41 +++++------------- .../v1/images/chapter-2/abstract-entity-1.png | Bin 31279 -> 0 bytes .../v1/images/chapter-2/abstract-entity-2.png | Bin 18312 -> 0 bytes .../v1/images/chapter-2/abstract-entity-3.png | Bin 18204 -> 0 bytes .../v1/images/chapter-2/abstract-repo.png | Bin 26276 -> 0 bytes docs/book/v1/images/chapter-2/book-1.png | Bin 22488 -> 0 bytes docs/book/v1/images/chapter-2/book-2.png | Bin 9032 -> 0 bytes docs/book/v1/images/chapter-2/book-config.png | Bin 17434 -> 0 bytes docs/book/v1/images/chapter-2/book-repo.png | Bin 8600 -> 0 bytes docs/book/v1/images/chapter-2/cli-config.png | Bin 19332 -> 0 bytes .../images/chapter-2/doctrine-migrations.png | Bin 5796 -> 0 bytes docs/book/v1/images/chapter-2/uuid-type.png | Bin 11899 -> 0 bytes mkdocs.yml | 2 +- 13 files changed, 12 insertions(+), 31 deletions(-) delete mode 100644 docs/book/v1/images/chapter-2/abstract-entity-1.png delete mode 100644 docs/book/v1/images/chapter-2/abstract-entity-2.png delete mode 100644 docs/book/v1/images/chapter-2/abstract-entity-3.png delete mode 100644 docs/book/v1/images/chapter-2/abstract-repo.png delete mode 100644 docs/book/v1/images/chapter-2/book-1.png delete mode 100644 docs/book/v1/images/chapter-2/book-2.png delete mode 100644 docs/book/v1/images/chapter-2/book-config.png delete mode 100644 docs/book/v1/images/chapter-2/book-repo.png delete mode 100644 docs/book/v1/images/chapter-2/cli-config.png delete mode 100644 docs/book/v1/images/chapter-2/doctrine-migrations.png delete mode 100644 docs/book/v1/images/chapter-2/uuid-type.png diff --git a/docs/book/v1/chapter-2.md b/docs/book/v1/chapter-2.md index 97c96a7..a441360 100644 --- a/docs/book/v1/chapter-2.md +++ b/docs/book/v1/chapter-2.md @@ -44,8 +44,6 @@ Along with those we also need to create the file `config/cli-config.php`. This `cli-config.php` file sets up Doctrine so that you can run **migration commands** from the command line (CLI). It connects the Doctrine Migrations system with your application's existing `EntityManager`. -![cli-config](images/chapter-2/cli-config.png) - ```php oI& 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 Mb={lAst<$z3(q=}%K!iX diff --git a/docs/book/v1/images/chapter-2/abstract-entity-2.png b/docs/book/v1/images/chapter-2/abstract-entity-2.png deleted file mode 100644 index 47c57f1f5498d797b8218d4c92fffba322edff4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18312 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 diff --git a/docs/book/v1/images/chapter-2/abstract-entity-3.png b/docs/book/v1/images/chapter-2/abstract-entity-3.png deleted file mode 100644 index 8f84876a8c4eceb01178a2c963655c2f5fbcd457..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18204 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 diff --git a/docs/book/v1/images/chapter-2/abstract-repo.png b/docs/book/v1/images/chapter-2/abstract-repo.png deleted file mode 100644 index ef2ea5df081d57ff0301aa48fd35e39080a124d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26276 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 diff --git a/docs/book/v1/images/chapter-2/book-1.png b/docs/book/v1/images/chapter-2/book-1.png deleted file mode 100644 index 8402a9d135c7f49d95296686e4f122b6d99d9a68..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22488 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 A4*&oF diff --git a/docs/book/v1/images/chapter-2/book-2.png b/docs/book/v1/images/chapter-2/book-2.png deleted file mode 100644 index 7479e5d76e52639acb4dd1bdd5d983f52a33128c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9032 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 diff --git a/docs/book/v1/images/chapter-2/book-config.png b/docs/book/v1/images/chapter-2/book-config.png deleted file mode 100644 index cb9e465aa211d93299402f15cec7a73ac26b1c86..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17434 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 diff --git a/docs/book/v1/images/chapter-2/book-repo.png b/docs/book/v1/images/chapter-2/book-repo.png deleted file mode 100644 index 59d5228d80d9e408eef98b172c42510dc3fd9f3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8600 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 diff --git a/docs/book/v1/images/chapter-2/doctrine-migrations.png b/docs/book/v1/images/chapter-2/doctrine-migrations.png deleted file mode 100644 index 1dad7f07d3df098133779f9716163b08e8046a97..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5796 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 diff --git a/docs/book/v1/images/chapter-2/uuid-type.png b/docs/book/v1/images/chapter-2/uuid-type.png deleted file mode 100644 index 1de90098ab5b9dfba08394f73ca3e12453f7e16f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11899 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