<?php //App__Entity__Promotion__Promotion__CLASSMETADATA__

return [PHP_INT_MAX, static fn () => \Symfony\Component\VarExporter\Internal\Hydrator::hydrate(
    $o = [
        clone (($p = &\Symfony\Component\VarExporter\Internal\Registry::$prototypes)['Doctrine\\ORM\\Mapping\\ClassMetadata'] ?? \Symfony\Component\VarExporter\Internal\Registry::p('Doctrine\\ORM\\Mapping\\ClassMetadata')),
        clone ($p['Doctrine\\ORM\\Id\\IdentityGenerator'] ?? \Symfony\Component\VarExporter\Internal\Registry::p('Doctrine\\ORM\\Id\\IdentityGenerator')),
    ],
    null,
    [
        'stdClass' => [
            'name' => [
                'App\\Entity\\Promotion\\Promotion',
            ],
            'namespace' => [
                'App\\Entity\\Promotion',
            ],
            'rootEntityName' => [
                'App\\Entity\\Promotion\\Promotion',
            ],
            'customRepositoryClassName' => [
                'Sylius\\Bundle\\CoreBundle\\Doctrine\\ORM\\PromotionRepository',
            ],
            'identifier' => [
                [
                    'id',
                ],
            ],
            'generatorType' => [
                4,
            ],
            'fieldMappings' => [
                [
                    'code' => [
                        'fieldName' => 'code',
                        'type' => 'string',
                        'unique' => true,
                        'columnName' => 'code',
                        'declared' => 'Sylius\\Component\\Promotion\\Model\\Promotion',
                    ],
                    'name' => [
                        'fieldName' => 'name',
                        'type' => 'string',
                        'columnName' => 'name',
                        'declared' => 'Sylius\\Component\\Promotion\\Model\\Promotion',
                    ],
                    'description' => [
                        'fieldName' => 'description',
                        'type' => 'string',
                        'nullable' => true,
                        'columnName' => 'description',
                        'declared' => 'Sylius\\Component\\Promotion\\Model\\Promotion',
                    ],
                    'priority' => [
                        'fieldName' => 'priority',
                        'type' => 'integer',
                        'columnName' => 'priority',
                        'declared' => 'Sylius\\Component\\Promotion\\Model\\Promotion',
                    ],
                    'exclusive' => [
                        'fieldName' => 'exclusive',
                        'type' => 'boolean',
                        'columnName' => 'exclusive',
                        'declared' => 'Sylius\\Component\\Promotion\\Model\\Promotion',
                    ],
                    'usageLimit' => [
                        'fieldName' => 'usageLimit',
                        'type' => 'integer',
                        'columnName' => 'usage_limit',
                        'nullable' => true,
                        'declared' => 'Sylius\\Component\\Promotion\\Model\\Promotion',
                    ],
                    'used' => [
                        'fieldName' => 'used',
                        'type' => 'integer',
                        'columnName' => 'used',
                        'declared' => 'Sylius\\Component\\Promotion\\Model\\Promotion',
                    ],
                    'couponBased' => [
                        'fieldName' => 'couponBased',
                        'type' => 'boolean',
                        'columnName' => 'coupon_based',
                        'declared' => 'Sylius\\Component\\Promotion\\Model\\Promotion',
                    ],
                    'startsAt' => [
                        'fieldName' => 'startsAt',
                        'type' => 'datetime',
                        'columnName' => 'starts_at',
                        'nullable' => true,
                        'declared' => 'Sylius\\Component\\Promotion\\Model\\Promotion',
                    ],
                    'endsAt' => [
                        'fieldName' => 'endsAt',
                        'type' => 'datetime',
                        'columnName' => 'ends_at',
                        'nullable' => true,
                        'declared' => 'Sylius\\Component\\Promotion\\Model\\Promotion',
                    ],
                    'appliesToDiscounted' => [
                        'fieldName' => 'appliesToDiscounted',
                        'type' => 'boolean',
                        'columnName' => 'applies_to_discounted',
                        'options' => [
                            'default' => '1',
                        ],
                        'declared' => 'Sylius\\Component\\Promotion\\Model\\Promotion',
                    ],
                    'archivedAt' => [
                        'fieldName' => 'archivedAt',
                        'type' => 'datetime',
                        'columnName' => 'archived_at',
                        'nullable' => true,
                        'declared' => 'Sylius\\Component\\Promotion\\Model\\Promotion',
                    ],
                    'createdAt' => [
                        'fieldName' => 'createdAt',
                        'type' => 'datetime',
                        'columnName' => 'created_at',
                        'declared' => 'Sylius\\Component\\Promotion\\Model\\Promotion',
                    ],
                    'updatedAt' => [
                        'fieldName' => 'updatedAt',
                        'type' => 'datetime',
                        'columnName' => 'updated_at',
                        'nullable' => true,
                        'declared' => 'Sylius\\Component\\Promotion\\Model\\Promotion',
                    ],
                    'id' => [
                        'fieldName' => 'id',
                        'type' => 'integer',
                        'id' => true,
                        'columnName' => 'id',
                        'declared' => 'Sylius\\Component\\Promotion\\Model\\Promotion',
                    ],
                ],
            ],
            'fieldNames' => [
                [
                    'code' => 'code',
                    'name' => 'name',
                    'description' => 'description',
                    'priority' => 'priority',
                    'exclusive' => 'exclusive',
                    'usage_limit' => 'usageLimit',
                    'used' => 'used',
                    'coupon_based' => 'couponBased',
                    'starts_at' => 'startsAt',
                    'ends_at' => 'endsAt',
                    'applies_to_discounted' => 'appliesToDiscounted',
                    'archived_at' => 'archivedAt',
                    'created_at' => 'createdAt',
                    'updated_at' => 'updatedAt',
                    'id' => 'id',
                ],
            ],
            'columnNames' => [
                [
                    'code' => 'code',
                    'name' => 'name',
                    'description' => 'description',
                    'priority' => 'priority',
                    'exclusive' => 'exclusive',
                    'usageLimit' => 'usage_limit',
                    'used' => 'used',
                    'couponBased' => 'coupon_based',
                    'startsAt' => 'starts_at',
                    'endsAt' => 'ends_at',
                    'appliesToDiscounted' => 'applies_to_discounted',
                    'archivedAt' => 'archived_at',
                    'createdAt' => 'created_at',
                    'updatedAt' => 'updated_at',
                    'id' => 'id',
                ],
            ],
            'table' => [
                [
                    'name' => 'sylius_promotion',
                ],
            ],
            'associationMappings' => [
                [
                    'translations' => [
                        'fieldName' => 'translations',
                        'targetEntity' => 'App\\Entity\\Promotion\\PromotionTranslation',
                        'mappedBy' => 'translatable',
                        'fetch' => 4,
                        'indexBy' => 'locale',
                        'cascade' => [
                            'persist',
                            'merge',
                            'remove',
                        ],
                        'orphanRemoval' => true,
                        'type' => 4,
                        'inversedBy' => null,
                        'isOwningSide' => false,
                        'sourceEntity' => 'App\\Entity\\Promotion\\Promotion',
                        'isCascadeRemove' => true,
                        'isCascadePersist' => true,
                        'isCascadeRefresh' => false,
                        'isCascadeMerge' => true,
                        'isCascadeDetach' => false,
                    ],
                    'channels' => [
                        'fieldName' => 'channels',
                        'targetEntity' => 'App\\Entity\\Channel\\Channel',
                        'joinTable' => [
                            'name' => 'sylius_promotion_channels',
                            'joinColumns' => [
                                [
                                    'name' => 'promotion_id',
                                    'referencedColumnName' => 'id',
                                    'nullable' => false,
                                    'onDelete' => 'CASCADE',
                                ],
                            ],
                            'inverseJoinColumns' => [
                                [
                                    'name' => 'channel_id',
                                    'referencedColumnName' => 'id',
                                    'nullable' => false,
                                    'onDelete' => 'CASCADE',
                                ],
                            ],
                        ],
                        'orderBy' => [
                            'id' => 'ASC',
                        ],
                        'type' => 8,
                        'mappedBy' => null,
                        'inversedBy' => null,
                        'isOwningSide' => true,
                        'sourceEntity' => 'App\\Entity\\Promotion\\Promotion',
                        'fetch' => 2,
                        'cascade' => [],
                        'isCascadeRemove' => false,
                        'isCascadePersist' => false,
                        'isCascadeRefresh' => false,
                        'isCascadeMerge' => false,
                        'isCascadeDetach' => false,
                        'joinTableColumns' => [
                            'promotion_id',
                            'channel_id',
                        ],
                        'isOnDeleteCascade' => true,
                        'relationToSourceKeyColumns' => [
                            'promotion_id' => 'id',
                        ],
                        'relationToTargetKeyColumns' => [
                            'channel_id' => 'id',
                        ],
                        'orphanRemoval' => false,
                    ],
                    'coupons' => [
                        'fieldName' => 'coupons',
                        'mappedBy' => 'promotion',
                        'targetEntity' => 'App\\Entity\\Promotion\\PromotionCoupon',
                        'cascade' => [
                            'remove',
                            'persist',
                            'refresh',
                            'merge',
                            'detach',
                        ],
                        'orderBy' => [
                            'id' => 'ASC',
                        ],
                        'type' => 4,
                        'inversedBy' => null,
                        'isOwningSide' => false,
                        'sourceEntity' => 'App\\Entity\\Promotion\\Promotion',
                        'fetch' => 2,
                        'isCascadeRemove' => true,
                        'isCascadePersist' => true,
                        'isCascadeRefresh' => true,
                        'isCascadeMerge' => true,
                        'isCascadeDetach' => true,
                        'orphanRemoval' => false,
                    ],
                    'rules' => [
                        'fieldName' => 'rules',
                        'mappedBy' => 'promotion',
                        'targetEntity' => 'App\\Entity\\Promotion\\PromotionRule',
                        'cascade' => [
                            'remove',
                            'persist',
                            'refresh',
                            'merge',
                            'detach',
                        ],
                        'orphanRemoval' => true,
                        'orderBy' => [
                            'id' => 'ASC',
                        ],
                        'type' => 4,
                        'inversedBy' => null,
                        'isOwningSide' => false,
                        'sourceEntity' => 'App\\Entity\\Promotion\\Promotion',
                        'fetch' => 2,
                        'isCascadeRemove' => true,
                        'isCascadePersist' => true,
                        'isCascadeRefresh' => true,
                        'isCascadeMerge' => true,
                        'isCascadeDetach' => true,
                    ],
                    'actions' => [
                        'fieldName' => 'actions',
                        'mappedBy' => 'promotion',
                        'targetEntity' => 'App\\Entity\\Promotion\\PromotionAction',
                        'cascade' => [
                            'remove',
                            'persist',
                            'refresh',
                            'merge',
                            'detach',
                        ],
                        'orphanRemoval' => true,
                        'orderBy' => [
                            'id' => 'ASC',
                        ],
                        'type' => 4,
                        'inversedBy' => null,
                        'isOwningSide' => false,
                        'sourceEntity' => 'App\\Entity\\Promotion\\Promotion',
                        'fetch' => 2,
                        'isCascadeRemove' => true,
                        'isCascadePersist' => true,
                        'isCascadeRefresh' => true,
                        'isCascadeMerge' => true,
                        'isCascadeDetach' => true,
                    ],
                ],
            ],
            'idGenerator' => [
                $o[1],
            ],
        ],
    ],
    $o[0],
    []
)];
