diff --git a/src/Bundle/ChillDocStoreBundle/Entity/StoredObject.php b/src/Bundle/ChillDocStoreBundle/Entity/StoredObject.php index dabcec8eb..b108d086b 100644 --- a/src/Bundle/ChillDocStoreBundle/Entity/StoredObject.php +++ b/src/Bundle/ChillDocStoreBundle/Entity/StoredObject.php @@ -346,7 +346,6 @@ class StoredObject implements Document, TrackCreationInterface throw new \UnexpectedValueException('This stored object does not contains this version'); } $this->versions->removeElement($storedObjectVersion); - $storedObjectVersion->resetStoredObject(); } /** diff --git a/src/Bundle/ChillDocStoreBundle/Entity/StoredObjectVersion.php b/src/Bundle/ChillDocStoreBundle/Entity/StoredObjectVersion.php index 8526cd9a9..fed183057 100644 --- a/src/Bundle/ChillDocStoreBundle/Entity/StoredObjectVersion.php +++ b/src/Bundle/ChillDocStoreBundle/Entity/StoredObjectVersion.php @@ -33,13 +33,6 @@ class StoredObjectVersion implements TrackCreationInterface #[ORM\Column(type: \Doctrine\DBAL\Types\Types::INTEGER)] private ?int $id = null; - /** - * The stored object associated with this version. - */ - #[ORM\ManyToOne(targetEntity: StoredObject::class, inversedBy: 'versions')] - #[ORM\JoinColumn(name: 'stored_object_id', nullable: true)] - private ?StoredObject $storedObject; - /** * filename of the version in the stored object. */ @@ -47,7 +40,12 @@ class StoredObjectVersion implements TrackCreationInterface private string $filename = ''; public function __construct( - StoredObject $storedObject, + /** + * The stored object associated with this version. + */ + #[ORM\ManyToOne(targetEntity: StoredObject::class, inversedBy: 'versions')] + #[ORM\JoinColumn(name: 'stored_object_id', nullable: false)] + private StoredObject $storedObject, /** * The incremental version. @@ -78,7 +76,6 @@ class StoredObjectVersion implements TrackCreationInterface private string $type = '', ?string $filename = null, ) { - $this->storedObject = $storedObject; $this->filename = $filename ?? self::generateFilename($this); } @@ -127,12 +124,4 @@ class StoredObjectVersion implements TrackCreationInterface { return $this->version; } - - /** - * @internal to be used by StoredObject::removeVersion - */ - public function resetStoredObject(): void - { - $this->storedObject = null; - } } diff --git a/src/Bundle/ChillDocStoreBundle/migrations/Version20240709102730.php b/src/Bundle/ChillDocStoreBundle/migrations/Version20240709102730.php index 4ac01b196..4fc68da1f 100644 --- a/src/Bundle/ChillDocStoreBundle/migrations/Version20240709102730.php +++ b/src/Bundle/ChillDocStoreBundle/migrations/Version20240709102730.php @@ -28,7 +28,7 @@ final class Version20240709102730 extends AbstractMigration <<<'SQL' CREATE TABLE chill_doc.stored_object_version ( id INT NOT NULL, - stored_object_id INT DEFAULT NULL, + stored_object_id INT NOT NULL, version INT DEFAULT 0 NOT NULL, filename TEXT NOT NULL, iv JSON NOT NULL,