Use namespaced Doctrine annotations

[MAILPOET-2437]
This commit is contained in:
Jan Jakeš
2019-10-21 13:14:22 +02:00
committed by Jack Kitterhing
parent f27946444e
commit 48802e47c4
18 changed files with 104 additions and 88 deletions

View File

@ -42,7 +42,7 @@ class ConfigurationFactory {
// register annotation reader if doctrine/annotations package is installed
// (i.e. in dev environment, on production metadata is dumped in the build)
if (class_exists(SimpleAnnotationReader::class)) {
$configuration->setMetadataDriverImpl($configuration->newDefaultAnnotationDriver([self::ENTITY_DIR]));
$configuration->setMetadataDriverImpl($configuration->newDefaultAnnotationDriver([self::ENTITY_DIR], false));
} else {
// Should never be called but Doctrine requires having driver set
$configuration->setMetadataDriverImpl(new PHPDriver([]));

View File

@ -2,11 +2,13 @@
namespace MailPoet\Doctrine\EntityTraits;
use MailPoetVendor\Doctrine\ORM\Mapping as ORM;
trait AutoincrementedIdTrait {
/**
* @Column(type="integer")
* @Id
* @GeneratedValue
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue
* @var int|null
*/
private $id;

View File

@ -3,10 +3,11 @@
namespace MailPoet\Doctrine\EntityTraits;
use DateTimeInterface;
use MailPoetVendor\Doctrine\ORM\Mapping as ORM;
trait CreatedAtTrait {
/**
* @Column(type="datetimetz")
* @ORM\Column(type="datetimetz")
* @var DateTimeInterface
*/
private $created_at;

View File

@ -3,10 +3,11 @@
namespace MailPoet\Doctrine\EntityTraits;
use DateTimeInterface;
use MailPoetVendor\Doctrine\ORM\Mapping as ORM;
trait DeletedAtTrait {
/**
* @Column(type="datetimetz", nullable=true)
* @ORM\Column(type="datetimetz", nullable=true)
* @var DateTimeInterface|null
*/
private $deleted_at;

View File

@ -3,10 +3,11 @@
namespace MailPoet\Doctrine\EntityTraits;
use DateTimeInterface;
use MailPoetVendor\Doctrine\ORM\Mapping as ORM;
trait UpdatedAtTrait {
/**
* @Column(type="datetimetz")
* @ORM\Column(type="datetimetz")
* @var DateTimeInterface
*/
private $updated_at;

View File

@ -5,10 +5,11 @@ namespace MailPoet\Entities;
use MailPoet\Doctrine\EntityTraits\AutoincrementedIdTrait;
use MailPoet\Doctrine\EntityTraits\CreatedAtTrait;
use MailPoet\Doctrine\EntityTraits\UpdatedAtTrait;
use MailPoetVendor\Doctrine\ORM\Mapping as ORM;
/**
* @Entity()
* @Table(name="feature_flags", uniqueConstraints={@UniqueConstraint(name="name",columns={"name"})})
* @ORM\Entity()
* @ORM\Table(name="feature_flags", uniqueConstraints={@ORM\UniqueConstraint(name="name",columns={"name"})})
*/
class FeatureFlagEntity {
use AutoincrementedIdTrait;
@ -16,13 +17,13 @@ class FeatureFlagEntity {
use UpdatedAtTrait;
/**
* @Column(type="string", nullable=false, unique=true)
* @ORM\Column(type="string", nullable=false, unique=true)
* @var string
*/
private $name;
/**
* @Column(type="boolean", nullable=true)
* @ORM\Column(type="boolean", nullable=true)
* @var bool|null
*/
private $value;

View File

@ -10,11 +10,11 @@ use MailPoet\Doctrine\EntityTraits\UpdatedAtTrait;
use MailPoetVendor\Doctrine\Common\Collections\ArrayCollection;
use MailPoetVendor\Doctrine\Common\Collections\Criteria;
use MailPoetVendor\Doctrine\ORM\EntityNotFoundException;
use MailPoetVendor\Doctrine\ORM\Mapping\Column;
use MailPoetVendor\Doctrine\ORM\Mapping as ORM;
/**
* @Entity()
* @Table(name="newsletters")
* @ORM\Entity()
* @ORM\Table(name="newsletters")
*/
class NewsletterEntity {
// types
@ -40,103 +40,103 @@ class NewsletterEntity {
use DeletedAtTrait;
/**
* @Column(type="string")
* @ORM\Column(type="string")
* @var string|null
*/
private $hash;
/**
* @Column(type="string")
* @ORM\Column(type="string")
* @var string
*/
private $subject;
/**
* @Column(type="string")
* @ORM\Column(type="string")
* @var string
*/
private $type;
/**
* @Column(type="string")
* @ORM\Column(type="string")
* @var string
*/
private $sender_address;
/**
* @Column(type="string")
* @ORM\Column(type="string")
* @var string
*/
private $sender_name;
/**
* @Column(type="string")
* @ORM\Column(type="string")
* @var string
*/
private $status = self::STATUS_DRAFT;
/**
* @Column(type="string")
* @ORM\Column(type="string")
* @var string
*/
private $reply_to_address;
/**
* @Column(type="string")
* @ORM\Column(type="string")
* @var string
*/
private $reply_to_name;
/**
* @Column(type="string")
* @ORM\Column(type="string")
* @var string
*/
private $preheader;
/**
* @Column(type="json")
* @ORM\Column(type="json")
* @var array|null
*/
private $body;
/**
* @Column(type="datetimetz")
* @ORM\Column(type="datetimetz")
* @var DateTimeInterface|null
*/
private $sent_at;
/**
* @Column(type="string")
* @ORM\Column(type="string")
* @var string|null
*/
private $unsubscribe_token;
/**
* @Column(type="string")
* @ORM\Column(type="string")
* @var string
*/
private $ga_campaign;
/**
* @ManyToOne(targetEntity="MailPoet\Entities\NewsletterEntity")
* @ORM\ManyToOne(targetEntity="MailPoet\Entities\NewsletterEntity")
* @var NewsletterEntity|null
*/
private $parent;
/**
* @OneToMany(targetEntity="MailPoet\Entities\NewsletterSegmentEntity", mappedBy="newsletter")
* @ORM\OneToMany(targetEntity="MailPoet\Entities\NewsletterSegmentEntity", mappedBy="newsletter")
* @var NewsletterSegmentEntity[]|ArrayCollection
*/
private $newsletter_segments;
/**
* @OneToMany(targetEntity="MailPoet\Entities\NewsletterOptionEntity", mappedBy="newsletter")
* @ORM\OneToMany(targetEntity="MailPoet\Entities\NewsletterOptionEntity", mappedBy="newsletter")
* @var NewsletterOptionEntity[]|ArrayCollection
*/
private $options;
/**
* @OneToMany(targetEntity="MailPoet\Entities\SendingQueueEntity", mappedBy="newsletter")
* @ORM\OneToMany(targetEntity="MailPoet\Entities\SendingQueueEntity", mappedBy="newsletter")
* @var SendingQueueEntity[]|ArrayCollection
*/
private $queues;

View File

@ -5,10 +5,11 @@ namespace MailPoet\Entities;
use MailPoet\Doctrine\EntityTraits\AutoincrementedIdTrait;
use MailPoet\Doctrine\EntityTraits\CreatedAtTrait;
use MailPoet\Doctrine\EntityTraits\UpdatedAtTrait;
use MailPoetVendor\Doctrine\ORM\Mapping as ORM;
/**
* @Entity()
* @Table(name="newsletter_option")
* @ORM\Entity()
* @ORM\Table(name="newsletter_option")
*/
class NewsletterOptionEntity {
use AutoincrementedIdTrait;
@ -16,19 +17,19 @@ class NewsletterOptionEntity {
use UpdatedAtTrait;
/**
* @Column(type="text")
* @ORM\Column(type="text")
* @var string|null
*/
private $value;
/**
* @ManyToOne(targetEntity="MailPoet\Entities\NewsletterEntity", inversedBy="options")
* @ORM\ManyToOne(targetEntity="MailPoet\Entities\NewsletterEntity", inversedBy="options")
* @var NewsletterEntity
*/
private $newsletter;
/**
* @ManyToOne(targetEntity="MailPoet\Entities\NewsletterOptionFieldEntity", inversedBy="options")
* @ORM\ManyToOne(targetEntity="MailPoet\Entities\NewsletterOptionFieldEntity", inversedBy="options")
* @var NewsletterOptionFieldEntity
*/
private $option_field;

View File

@ -5,10 +5,11 @@ namespace MailPoet\Entities;
use MailPoet\Doctrine\EntityTraits\AutoincrementedIdTrait;
use MailPoet\Doctrine\EntityTraits\CreatedAtTrait;
use MailPoet\Doctrine\EntityTraits\UpdatedAtTrait;
use MailPoetVendor\Doctrine\ORM\Mapping as ORM;
/**
* @Entity()
* @Table(name="newsletter_option_fields")
* @ORM\Entity()
* @ORM\Table(name="newsletter_option_fields")
*/
class NewsletterOptionFieldEntity {
use AutoincrementedIdTrait;
@ -16,13 +17,13 @@ class NewsletterOptionFieldEntity {
use UpdatedAtTrait;
/**
* @Column(type="string")
* @ORM\Column(type="string")
* @var string
*/
private $name;
/**
* @Column(type="string")
* @ORM\Column(type="string")
* @var string
*/
private $newsletter_type;

View File

@ -5,10 +5,11 @@ namespace MailPoet\Entities;
use MailPoet\Doctrine\EntityTraits\AutoincrementedIdTrait;
use MailPoet\Doctrine\EntityTraits\CreatedAtTrait;
use MailPoet\Doctrine\EntityTraits\UpdatedAtTrait;
use MailPoetVendor\Doctrine\ORM\Mapping as ORM;
/**
* @Entity()
* @Table(name="newsletter_segment")
* @ORM\Entity()
* @ORM\Table(name="newsletter_segment")
*/
class NewsletterSegmentEntity {
use AutoincrementedIdTrait;
@ -16,13 +17,13 @@ class NewsletterSegmentEntity {
use UpdatedAtTrait;
/**
* @ManyToOne(targetEntity="MailPoet\Entities\NewsletterEntity", inversedBy="newsletter_segments")
* @ORM\ManyToOne(targetEntity="MailPoet\Entities\NewsletterEntity", inversedBy="newsletter_segments")
* @var NewsletterEntity
*/
private $newsletter;
/**
* @ManyToOne(targetEntity="MailPoet\Entities\SegmentEntity")
* @ORM\ManyToOne(targetEntity="MailPoet\Entities\SegmentEntity")
* @var SegmentEntity
*/
private $segment;

View File

@ -7,10 +7,11 @@ use MailPoet\Doctrine\EntityTraits\AutoincrementedIdTrait;
use MailPoet\Doctrine\EntityTraits\CreatedAtTrait;
use MailPoet\Doctrine\EntityTraits\DeletedAtTrait;
use MailPoet\Doctrine\EntityTraits\UpdatedAtTrait;
use MailPoetVendor\Doctrine\ORM\Mapping as ORM;
/**
* @Entity()
* @Table(name="scheduled_tasks")
* @ORM\Entity()
* @ORM\Table(name="scheduled_tasks")
*/
class ScheduledTaskEntity {
const STATUS_COMPLETED = 'completed';
@ -27,37 +28,37 @@ class ScheduledTaskEntity {
use DeletedAtTrait;
/**
* @Column(type="string")
* @ORM\Column(type="string")
* @var string|null
*/
private $type;
/**
* @Column(type="string")
* @ORM\Column(type="string")
* @var string|null
*/
private $status;
/**
* @Column(type="integer")
* @ORM\Column(type="integer")
* @var int
*/
private $priority = 0;
/**
* @Column(type="datetimetz")
* @ORM\Column(type="datetimetz")
* @var DateTimeInterface|null
*/
private $scheduled_at;
/**
* @Column(type="datetimetz")
* @ORM\Column(type="datetimetz")
* @var DateTimeInterface|null
*/
private $processed_at;
/**
* @Column(type="json")
* @ORM\Column(type="json")
* @var array|null
*/
private $meta;

View File

@ -6,10 +6,11 @@ use MailPoet\Doctrine\EntityTraits\AutoincrementedIdTrait;
use MailPoet\Doctrine\EntityTraits\CreatedAtTrait;
use MailPoet\Doctrine\EntityTraits\DeletedAtTrait;
use MailPoet\Doctrine\EntityTraits\UpdatedAtTrait;
use MailPoetVendor\Doctrine\ORM\Mapping as ORM;
/**
* @Entity()
* @Table(name="segments")
* @ORM\Entity()
* @ORM\Table(name="segments")
*/
class SegmentEntity {
use AutoincrementedIdTrait;
@ -22,19 +23,19 @@ class SegmentEntity {
const TYPE_DEFAULT = 'default';
/**
* @Column(type="string")
* @ORM\Column(type="string")
* @var string
*/
private $name;
/**
* @Column(type="string")
* @ORM\Column(type="string")
* @var string
*/
private $type;
/**
* @Column(type="string")
* @ORM\Column(type="string")
* @var string
*/
private $description;

View File

@ -6,10 +6,11 @@ use MailPoet\Doctrine\EntityTraits\AutoincrementedIdTrait;
use MailPoet\Doctrine\EntityTraits\CreatedAtTrait;
use MailPoet\Doctrine\EntityTraits\DeletedAtTrait;
use MailPoet\Doctrine\EntityTraits\UpdatedAtTrait;
use MailPoetVendor\Doctrine\ORM\Mapping as ORM;
/**
* @Entity()
* @Table(name="sending_queues")
* @ORM\Entity()
* @ORM\Table(name="sending_queues")
*/
class SendingQueueEntity {
const STATUS_COMPLETED = 'completed';
@ -25,55 +26,55 @@ class SendingQueueEntity {
use DeletedAtTrait;
/**
* @Column(type="json_or_serialized")
* @ORM\Column(type="json_or_serialized")
* @var array|null
*/
private $newsletter_rendered_body;
/**
* @Column(type="string")
* @ORM\Column(type="string")
* @var string|null
*/
private $newsletter_rendered_subject;
/**
* @Column(type="text")
* @ORM\Column(type="text")
* @var string|null
*/
private $subscribers;
/**
* @Column(type="integer")
* @ORM\Column(type="integer")
* @var int
*/
private $count_total = 0;
/**
* @Column(type="integer")
* @ORM\Column(type="integer")
* @var int
*/
private $count_processed = 0;
/**
* @Column(type="integer")
* @ORM\Column(type="integer")
* @var int
*/
private $count_to_process = 0;
/**
* @Column(type="json")
* @ORM\Column(type="json")
* @var array|null
*/
private $meta;
/**
* @OneToOne(targetEntity="MailPoet\Entities\ScheduledTaskEntity")
* @ORM\OneToOne(targetEntity="MailPoet\Entities\ScheduledTaskEntity")
* @var ScheduledTaskEntity
*/
private $task;
/**
* @ManyToOne(targetEntity="MailPoet\Entities\NewsletterEntity", inversedBy="queues")
* @ORM\ManyToOne(targetEntity="MailPoet\Entities\NewsletterEntity", inversedBy="queues")
* @var NewsletterEntity
*/
private $newsletter;

View File

@ -5,10 +5,11 @@ namespace MailPoet\Entities;
use MailPoet\Doctrine\EntityTraits\AutoincrementedIdTrait;
use MailPoet\Doctrine\EntityTraits\CreatedAtTrait;
use MailPoet\Doctrine\EntityTraits\UpdatedAtTrait;
use MailPoetVendor\Doctrine\ORM\Mapping as ORM;
/**
* @Entity()
* @Table(name="user_flags")
* @ORM\Entity()
* @ORM\Table(name="user_flags")
*/
class UserFlagEntity {
use AutoincrementedIdTrait;
@ -16,19 +17,19 @@ class UserFlagEntity {
use UpdatedAtTrait;
/**
* @Column(type="integer")
* @ORM\Column(type="integer")
* @var int
*/
private $user_id;
/**
* @Column(type="string")
* @ORM\Column(type="string")
* @var string
*/
private $name;
/**
* @Column(type="string")
* @ORM\Column(type="string")
* @var string|null
*/
private $value;

View File

@ -4,25 +4,26 @@ namespace MailPoet\Test\Doctrine\EventListeners;
use MailPoet\Doctrine\EntityTraits\CreatedAtTrait;
use MailPoet\Doctrine\EntityTraits\UpdatedAtTrait;
use MailPoetVendor\Doctrine\ORM\Mapping as ORM;
/**
* @Entity()
* @Table(name="test_timestamp_entity")
* @ORM\Entity()
* @ORM\Table(name="test_timestamp_entity")
*/
class TimestampEntity {
use CreatedAtTrait;
use UpdatedAtTrait;
/**
* @Column(type="integer")
* @Id
* @GeneratedValue
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue
* @var int|null
*/
private $id;
/**
* @Column(type="string")
* @ORM\Column(type="string")
* @var string
*/
private $name;

View File

@ -79,7 +79,7 @@ class TimestampListenerTest extends \MailPoetTest {
$configuration_factory = new ConfigurationFactory();
$configuration = $configuration_factory->createConfiguration();
$metadata_driver = $configuration->newDefaultAnnotationDriver([__DIR__]);
$metadata_driver = $configuration->newDefaultAnnotationDriver([__DIR__], false);
$configuration->setMetadataDriverImpl($metadata_driver);
$configuration->setMetadataCacheImpl(new ArrayCache());

View File

@ -2,27 +2,29 @@
namespace MailPoet\Test\Doctrine\Types;
use MailPoetVendor\Doctrine\ORM\Mapping as ORM;
/**
* @Entity()
* @Table(name="test_json_entity")
* @ORM\Entity()
* @ORM\Table(name="test_json_entity")
*/
class JsonEntity {
/**
* @Column(type="integer")
* @Id
* @GeneratedValue
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue
* @var int|null
*/
private $id;
/**
* @Column(type="json")
* @ORM\Column(type="json")
* @var array|null
*/
private $json_data;
/**
* @Column(type="json_or_serialized")
* @ORM\Column(type="json_or_serialized")
* @var array|null
*/
private $json_or_serialized_data;

View File

@ -153,7 +153,7 @@ class JsonTypesTest extends \MailPoetTest {
$configuration_factory = new ConfigurationFactory();
$configuration = $configuration_factory->createConfiguration();
$metadata_driver = $configuration->newDefaultAnnotationDriver([__DIR__]);
$metadata_driver = $configuration->newDefaultAnnotationDriver([__DIR__], false);
$configuration->setMetadataDriverImpl($metadata_driver);
$configuration->setMetadataCacheImpl(new ArrayCache());