Custom Fields are not showing in administration

Hello,
I want to create custom fields via code that are editable in the admin backend. I have created 2 custom field sets using the „Adding an actual custom field“ part of the following tutorial.

But my custom fields are still not showing up in the administration.
This is the directory I have worked with:


And this is the code I have written:

<?php declare(strict_types=1); namespace CrystalComp\Service; use Shopware\Core\Defaults; use Shopware\Core\Framework\Context; use Shopware\Core\Framework\DataAbstractionLayer\Search\Criteria; use Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\EqualsFilter; use Shopware\Core\Framework\DataAbstractionLayer\EntityRepositoryInterface; use Shopware\Core\System\CustomField\CustomFieldTypes; class WritingData { // private EntityRepositoryInterface $productRepository; // private EntityRepositoryInterface $topicRepository; private EntityRepositoryInterface $customFieldSetRepository; public function __construct(EntityRepositoryInterface $customFieldSetRepository) { // $this->productRepository = $productRepository; // $this->topicRepository = $topicRepository; $this->customFieldSetRepository = $customFieldSetRepository; } public function writeData(Context $context): void { $this->customFieldSetRepository->create([ [ 'name' => 'videos', 'config' => [ 'label' => [ 'en-GB' => 'English custom field set label', 'de-DE' => 'German custom field set label' ] ], 'relations' => [ [ 'id' => Uuid::randomHex(), 'entityName' => 'product' ] ], 'customFields' => [ [ 'name' => 'video-1', 'type' => CustomFieldTypes::media, 'config' => [ 'label' => [ 'en-GB' => 'Custom field for media', 'de-DE' => 'Custom field de media' ], 'customFieldPosition' => 1 ] ], [ 'name' => 'video-2', 'type' => CustomFieldTypes::media, 'config' => [ 'label' => [ 'en-GB' => 'Custom field for media', 'de-DE' => 'Custom field de media' ], 'customFieldPosition' => 2 ] ], [ 'name' => 'video-3', 'type' => CustomFieldTypes::media, 'config' => [ 'label' => [ 'en-GB' => 'Custom field for media', 'de-DE' => 'Custom field de media' ], 'customFieldPosition' => 3 ] ], [ 'name' => 'video-4', 'type' => CustomFieldTypes::media, 'config' => [ 'label' => [ 'en-GB' => 'Custom field for media', 'de-DE' => 'Custom field de media' ], 'customFieldPosition' => 4 ] ], [ 'name' => 'video-5', 'type' => CustomFieldTypes::media, 'config' => [ 'label' => [ 'en-GB' => 'Custom field for media', 'de-DE' => 'Custom field de media' ], 'customFieldPosition' => 5 ] ], [ 'name' => 'video-6', 'type' => CustomFieldTypes::media, 'config' => [ 'label' => [ 'en-GB' => 'Custom field for media', 'de-DE' => 'Custom field de media' ], 'customFieldPosition' => 6 ] ] ] ] ], $context); $this->customFieldSetRepository->create([ [ 'name' => 'topics', 'config' => [ 'label' => [ 'en-GB' => 'English custom field set label', 'de-DE' => 'German custom field set label' ] ], 'relations' => [ [ 'id' => Uuid::randomHex(), 'entityName' => 'product' ] ], 'customFields' => [ [ 'name' => 'topic-1', 'type' => CustomFieldTypes::text, 'config' => [ 'label' => [ 'en-GB' => 'Custom field for text', 'de-DE' => 'Custom field de text' ], 'customFieldPosition' => 1 ] ], [ 'name' => 'topic-2', 'type' => CustomFieldTypes::text, 'config' => [ 'label' => [ 'en-GB' => 'Custom field for text', 'de-DE' => 'Custom field de text' ], 'customFieldPosition' => 2 ] ], [ 'name' => 'topic-3', 'type' => CustomFieldTypes::text, 'config' => [ 'label' => [ 'en-GB' => 'Custom field for text', 'de-DE' => 'Custom field de text' ], 'customFieldPosition' => 3 ] ], [ 'name' => 'topic-4', 'type' => CustomFieldTypes::text, 'config' => [ 'label' => [ 'en-GB' => 'Custom field for text', 'de-DE' => 'Custom field de text' ], 'customFieldPosition' => 4 ] ], [ 'name' => 'topic-5', 'type' => CustomFieldTypes::text, 'config' => [ 'label' => [ 'en-GB' => 'Custom field for text', 'de-DE' => 'Custom field de text' ], 'customFieldPosition' => 5 ] ] ] ] ], $context); } }