/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->addLifecycleEvent('identifierWorkaround', 'postLoad'); $builder->setTable('lead_fields')->setCustomRepositoryClass('Mautic\\LeadBundle\\Entity\\LeadFieldRepository'); $builder->addId(); $builder->addField('label', 'string'); $builder->addField('alias', 'string'); $builder->createField('type', 'string')->length(50)->build(); $builder->createField('group', 'string')->columnName('field_group')->nullable()->build(); $builder->createField('defaultValue', 'string')->columnName('default_value')->nullable()->build(); $builder->createField('isRequired', 'boolean')->columnName('is_required')->build(); $builder->createField('isFixed', 'boolean')->columnName('is_fixed')->build(); $builder->createField('isVisible', 'boolean')->columnName('is_visible')->build(); $builder->createField('isShortVisible', 'boolean')->columnName('is_short_visible')->build(); $builder->createField('isListable', 'boolean')->columnName('is_listable')->build(); $builder->createField('isPubliclyUpdatable', 'boolean')->columnName('is_publicly_updatable')->build(); $builder->addNullableField('isUniqueIdentifer', 'boolean', 'is_unique_identifer'); $builder->createField('order', 'integer')->columnName('field_order')->nullable()->build(); $builder->createField('properties', 'array')->nullable()->build(); }