mirror of
https://github.com/maelgangloff/domain-watchdog.git
synced 2025-12-22 20:25:43 +00:00
feat: add a date column on domain_status to better identify periods
This commit is contained in:
parent
7275859bd6
commit
45e218c322
37
migrations/Version20241229155050.php
Normal file
37
migrations/Version20241229155050.php
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace DoctrineMigrations;
|
||||||
|
|
||||||
|
use Doctrine\DBAL\Schema\Schema;
|
||||||
|
use Doctrine\Migrations\AbstractMigration;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Auto-generated Migration: Please modify to your needs!
|
||||||
|
*/
|
||||||
|
final class Version20241229155050 extends AbstractMigration
|
||||||
|
{
|
||||||
|
public function getDescription(): string
|
||||||
|
{
|
||||||
|
return 'Add a date column on domain_status to better identify periods';
|
||||||
|
}
|
||||||
|
|
||||||
|
public function up(Schema $schema): void
|
||||||
|
{
|
||||||
|
// this up() migration is auto-generated, please modify it to your needs
|
||||||
|
$this->addSql('ALTER TABLE domain_status RENAME COLUMN date TO created_at');
|
||||||
|
$this->addSql('ALTER TABLE domain_status ADD date TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NOW() NOT NULL');
|
||||||
|
$this->addSql('UPDATE domain_status SET date = created_at');
|
||||||
|
$this->addSql('ALTER TABLE domain_status ALTER COLUMN date DROP DEFAULT');
|
||||||
|
|
||||||
|
$this->addSql('COMMENT ON COLUMN domain_status.date IS \'(DC2Type:datetime_immutable)\'');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function down(Schema $schema): void
|
||||||
|
{
|
||||||
|
// this down() migration is auto-generated, please modify it to your needs
|
||||||
|
$this->addSql('ALTER TABLE domain_status DROP COLUMN date');
|
||||||
|
$this->addSql('ALTER TABLE domain_status RENAME COLUMN created_at TO date');
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -21,7 +21,11 @@ class DomainStatus
|
|||||||
|
|
||||||
#[ORM\Column]
|
#[ORM\Column]
|
||||||
#[Groups(['domain:item'])]
|
#[Groups(['domain:item'])]
|
||||||
private ?\DateTimeImmutable $date = null;
|
private \DateTimeImmutable $createdAt;
|
||||||
|
|
||||||
|
#[ORM\Column]
|
||||||
|
#[Groups(['domain:item'])]
|
||||||
|
private \DateTimeImmutable $date;
|
||||||
|
|
||||||
#[ORM\Column(type: Types::SIMPLE_ARRAY, nullable: true)]
|
#[ORM\Column(type: Types::SIMPLE_ARRAY, nullable: true)]
|
||||||
#[Groups(['domain:item'])]
|
#[Groups(['domain:item'])]
|
||||||
@ -34,6 +38,7 @@ class DomainStatus
|
|||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
$this->date = new \DateTimeImmutable('now');
|
$this->date = new \DateTimeImmutable('now');
|
||||||
|
$this->createdAt = new \DateTimeImmutable('now');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getId(): ?int
|
public function getId(): ?int
|
||||||
@ -53,18 +58,30 @@ class DomainStatus
|
|||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getDate(): ?\DateTimeImmutable
|
public function getDate(): \DateTimeImmutable
|
||||||
{
|
{
|
||||||
return $this->date;
|
return $this->date;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setDate(\DateTimeImmutable $date): static
|
public function setDate(\DateTimeImmutable $date): self
|
||||||
{
|
{
|
||||||
$this->date = $date;
|
$this->date = $date;
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getCreatedAt(): \DateTimeImmutable
|
||||||
|
{
|
||||||
|
return $this->createdAt;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setCreatedAt(\DateTimeImmutable $createdAt): static
|
||||||
|
{
|
||||||
|
$this->createdAt = $createdAt;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
public function getAddStatus(): array
|
public function getAddStatus(): array
|
||||||
{
|
{
|
||||||
return $this->addStatus;
|
return $this->addStatus;
|
||||||
|
|||||||
@ -275,7 +275,8 @@ readonly class RDAPService
|
|||||||
if ($domain->getUpdatedAt() !== $domain->getCreatedAt()) {
|
if ($domain->getUpdatedAt() !== $domain->getCreatedAt()) {
|
||||||
$this->em->persist((new DomainStatus())
|
$this->em->persist((new DomainStatus())
|
||||||
->setDomain($domain)
|
->setDomain($domain)
|
||||||
->setDate(new \DateTimeImmutable('now'))
|
->setCreatedAt(new \DateTimeImmutable('now'))
|
||||||
|
->setDate($domain->getUpdatedAt())
|
||||||
->setAddStatus($addedStatus)
|
->setAddStatus($addedStatus)
|
||||||
->setDeleteStatus($deletedStatus));
|
->setDeleteStatus($deletedStatus));
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user