Skip to content

Commit f1e1762

Browse files
committed
5050: Optimize db structure and indexes
1 parent d63cf0b commit f1e1762

3 files changed

Lines changed: 73 additions & 4 deletions

File tree

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace DoctrineMigrations;
6+
7+
use Doctrine\DBAL\Schema\Schema;
8+
use Doctrine\Migrations\AbstractMigration;
9+
10+
/**
11+
* Auto-generated Migration: Please modify to your needs!
12+
*/
13+
final class Version20250729142154 extends AbstractMigration
14+
{
15+
public function getDescription(): string
16+
{
17+
return '';
18+
}
19+
20+
public function up(Schema $schema): void
21+
{
22+
// this up() migration is auto-generated, please modify it to your needs
23+
$this->addSql(<<<'SQL'
24+
ALTER TABLE report CHANGE sys_status sys_status VARCHAR(255) DEFAULT NULL, CHANGE sys_owner_sub sys_owner_sub VARCHAR(255) DEFAULT NULL
25+
SQL);
26+
$this->addSql(<<<'SQL'
27+
CREATE INDEX archived_status_owner_idx ON report (archived_at, sys_status, sys_owner_sub)
28+
SQL);
29+
$this->addSql(<<<'SQL'
30+
CREATE INDEX sys_internal_id_idx ON report (sys_internal_id)
31+
SQL);
32+
$this->addSql(<<<'SQL'
33+
ALTER TABLE system CHANGE sys_owner_sub sys_owner_sub VARCHAR(255) DEFAULT NULL
34+
SQL);
35+
$this->addSql(<<<'SQL'
36+
CREATE INDEX archived_status_owner_idx ON system (archived_at, sys_status, sys_owner_sub)
37+
SQL);
38+
$this->addSql(<<<'SQL'
39+
CREATE INDEX sys_internal_id_idx ON system (sys_internal_id)
40+
SQL);
41+
}
42+
43+
public function down(Schema $schema): void
44+
{
45+
// this down() migration is auto-generated, please modify it to your needs
46+
$this->addSql(<<<'SQL'
47+
DROP INDEX archived_status_owner_idx ON system
48+
SQL);
49+
$this->addSql(<<<'SQL'
50+
DROP INDEX sys_internal_id_idx ON system
51+
SQL);
52+
$this->addSql(<<<'SQL'
53+
ALTER TABLE system CHANGE sys_owner_sub sys_owner_sub LONGTEXT DEFAULT NULL
54+
SQL);
55+
$this->addSql(<<<'SQL'
56+
DROP INDEX archived_status_owner_idx ON report
57+
SQL);
58+
$this->addSql(<<<'SQL'
59+
DROP INDEX sys_internal_id_idx ON report
60+
SQL);
61+
$this->addSql(<<<'SQL'
62+
ALTER TABLE report CHANGE sys_status sys_status LONGTEXT DEFAULT NULL, CHANGE sys_owner_sub sys_owner_sub LONGTEXT DEFAULT NULL
63+
SQL);
64+
}
65+
}

src/Entity/Report.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
use Gedmo\Timestampable\Traits\TimestampableEntity;
1515

1616
#[ORM\Entity(repositoryClass: ReportRepository::class)]
17+
#[ORM\Index(columns: ['archived_at', 'sys_status', 'sys_owner_sub'], name: 'archived_status_owner_idx')]
18+
#[ORM\Index(columns: ['sys_internal_id'], name: 'sys_internal_id_idx')]
1719
#[Loggable]
1820
class Report implements \Stringable
1921
{
@@ -108,7 +110,7 @@ class Report implements \Stringable
108110
#[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)]
109111
private ?\DateTimeInterface $sysDateUse = null;
110112

111-
#[ORM\Column(type: Types::TEXT, nullable: true)]
113+
#[ORM\Column(type: Types::STRING, nullable: true)]
112114
private ?string $sysStatus = null;
113115

114116
#[ORM\Column(type: Types::TEXT, nullable: true)]
@@ -132,7 +134,7 @@ class Report implements \Stringable
132134
#[ORM\Column(type: Types::TEXT, nullable: true)]
133135
private ?string $sysVersion = null;
134136

135-
#[ORM\Column(type: Types::TEXT, nullable: true)]
137+
#[ORM\Column(type: Types::STRING, nullable: true)]
136138
private ?string $sysOwnerSub = null;
137139

138140
#[ORM\Column(type: Types::TEXT, nullable: true)]

src/Entity/System.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
use Gedmo\Timestampable\Traits\TimestampableEntity;
1515

1616
#[ORM\Entity(repositoryClass: SystemRepository::class)]
17+
#[ORM\Index(columns: ['archived_at', 'sys_status', 'sys_owner_sub'], name: 'archived_status_owner_idx')]
18+
#[ORM\Index(columns: ['sys_internal_id'], name: 'sys_internal_id_idx')]
1719
#[Loggable]
1820
class System implements \Stringable
1921
{
@@ -123,7 +125,7 @@ class System implements \Stringable
123125
#[ORM\Column(type: Types::TEXT, nullable: true)]
124126
private ?string $sysVersion = null;
125127

126-
#[ORM\Column(type: Types::TEXT, nullable: true)]
128+
#[ORM\Column(type: Types::STRING, nullable: true)]
127129
private ?string $sysOwnerSub = null;
128130

129131
#[ORM\Column(length: 255, nullable: true)]
@@ -132,7 +134,7 @@ class System implements \Stringable
132134
#[ORM\Column(nullable: true)]
133135
private ?int $sysInternalId = null;
134136

135-
#[ORM\Column(length: 255, nullable: true)]
137+
#[ORM\Column(type: Types::STRING, nullable: true)]
136138
private ?string $sysStatus = null;
137139

138140
#[ORM\Column(name: 'edoc_url', length: 255, nullable: true)]

0 commit comments

Comments
 (0)