Skip to content

Commit 6f2c294

Browse files
committed
Remove obsolete metadata fields from version tables
Signed-off-by: Tim Goudriaan <tim@codedmonkey.com>
1 parent 018dcf5 commit 6f2c294

10 files changed

Lines changed: 396 additions & 623 deletions

migrations/Version20260120114538.php

Lines changed: 306 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,17 @@ public function up(Schema $schema): void
2020
$this->fillMetadataTables();
2121
$this->addCurrentMetadataColumnToVersionTable();
2222
$this->updateVersionTableColumns();
23+
$this->dropVersionLinkTables();
24+
$this->dropVersionTableFields();
2325
}
2426

2527
public function down(Schema $schema): void
2628
{
2729
$this->dropMetadataTables();
2830
$this->dropCurrentMetadataColumnFromVersionTable();
2931
$this->revertVersionTableColumns();
32+
$this->createVersionLinkTables();
33+
$this->createVersionTableFields();
3034
}
3135

3236
private function createMetadataTables(): void
@@ -340,6 +344,113 @@ public function updateVersionTableColumns(): void
340344
SQL);
341345
}
342346

347+
public function dropVersionLinkTables(): void
348+
{
349+
$this->addSql(<<<'SQL'
350+
ALTER TABLE version_conflict_link DROP CONSTRAINT fk_ad52d6c4bbc2705
351+
SQL);
352+
$this->addSql(<<<'SQL'
353+
ALTER TABLE version_dev_require_link DROP CONSTRAINT fk_98f2e46e4bbc2705
354+
SQL);
355+
$this->addSql(<<<'SQL'
356+
ALTER TABLE version_keyword DROP CONSTRAINT fk_a65a946f4bbc2705
357+
SQL);
358+
$this->addSql(<<<'SQL'
359+
ALTER TABLE version_keyword DROP CONSTRAINT fk_a65a946f115d4552
360+
SQL);
361+
$this->addSql(<<<'SQL'
362+
ALTER TABLE version_provide_link DROP CONSTRAINT fk_150ec10c4bbc2705
363+
SQL);
364+
$this->addSql(<<<'SQL'
365+
ALTER TABLE version_replace_link DROP CONSTRAINT fk_87f1b96a4bbc2705
366+
SQL);
367+
$this->addSql(<<<'SQL'
368+
ALTER TABLE version_require_link DROP CONSTRAINT fk_7a1caab14bbc2705
369+
SQL);
370+
$this->addSql(<<<'SQL'
371+
ALTER TABLE version_suggest_link DROP CONSTRAINT fk_de9b76884bbc2705
372+
SQL);
373+
$this->addSql(<<<'SQL'
374+
DROP TABLE version_conflict_link
375+
SQL);
376+
$this->addSql(<<<'SQL'
377+
DROP TABLE version_dev_require_link
378+
SQL);
379+
$this->addSql(<<<'SQL'
380+
DROP TABLE version_keyword
381+
SQL);
382+
$this->addSql(<<<'SQL'
383+
DROP TABLE version_provide_link
384+
SQL);
385+
$this->addSql(<<<'SQL'
386+
DROP TABLE version_replace_link
387+
SQL);
388+
$this->addSql(<<<'SQL'
389+
DROP TABLE version_require_link
390+
SQL);
391+
$this->addSql(<<<'SQL'
392+
DROP TABLE version_suggest_link
393+
SQL);
394+
}
395+
396+
public function dropVersionTableFields(): void
397+
{
398+
$this->addSql(<<<'SQL'
399+
ALTER TABLE version DROP package_name
400+
SQL);
401+
$this->addSql(<<<'SQL'
402+
ALTER TABLE version DROP description
403+
SQL);
404+
$this->addSql(<<<'SQL'
405+
ALTER TABLE version DROP readme
406+
SQL);
407+
$this->addSql(<<<'SQL'
408+
ALTER TABLE version DROP homepage
409+
SQL);
410+
$this->addSql(<<<'SQL'
411+
ALTER TABLE version DROP license
412+
SQL);
413+
$this->addSql(<<<'SQL'
414+
ALTER TABLE version DROP type
415+
SQL);
416+
$this->addSql(<<<'SQL'
417+
ALTER TABLE version DROP target_dir
418+
SQL);
419+
$this->addSql(<<<'SQL'
420+
ALTER TABLE version DROP source
421+
SQL);
422+
$this->addSql(<<<'SQL'
423+
ALTER TABLE version DROP dist
424+
SQL);
425+
$this->addSql(<<<'SQL'
426+
ALTER TABLE version DROP autoload
427+
SQL);
428+
$this->addSql(<<<'SQL'
429+
ALTER TABLE version DROP binaries
430+
SQL);
431+
$this->addSql(<<<'SQL'
432+
ALTER TABLE version DROP include_paths
433+
SQL);
434+
$this->addSql(<<<'SQL'
435+
ALTER TABLE version DROP php_ext
436+
SQL);
437+
$this->addSql(<<<'SQL'
438+
ALTER TABLE version DROP authors
439+
SQL);
440+
$this->addSql(<<<'SQL'
441+
ALTER TABLE version DROP support
442+
SQL);
443+
$this->addSql(<<<'SQL'
444+
ALTER TABLE version DROP funding
445+
SQL);
446+
$this->addSql(<<<'SQL'
447+
ALTER TABLE version DROP extra
448+
SQL);
449+
$this->addSql(<<<'SQL'
450+
ALTER TABLE version DROP released_at
451+
SQL);
452+
}
453+
343454
private function dropMetadataTables(): void
344455
{
345456
$this->addSql(<<<'SQL'
@@ -442,4 +553,199 @@ public function revertVersionTableColumns(): void
442553
CONSTRAINT fk_bf1cd3c3f44cabff FOREIGN KEY (package_id) REFERENCES package (id) NOT DEFERRABLE INITIALLY IMMEDIATE
443554
SQL);
444555
}
556+
557+
public function createVersionLinkTables(): void
558+
{
559+
$this->addSql(<<<'SQL'
560+
CREATE TABLE version_conflict_link (
561+
id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL,
562+
linked_package_name VARCHAR(191) NOT NULL,
563+
linked_version_constraint TEXT NOT NULL,
564+
version_id INT NOT NULL,
565+
PRIMARY KEY (id)
566+
)
567+
SQL);
568+
$this->addSql(<<<'SQL'
569+
CREATE INDEX idx_ad52d6c4bbc2705 ON version_conflict_link (version_id)
570+
SQL);
571+
$this->addSql(<<<'SQL'
572+
CREATE TABLE version_dev_require_link (
573+
id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL,
574+
linked_package_name VARCHAR(191) NOT NULL,
575+
linked_version_constraint TEXT NOT NULL,
576+
version_id INT NOT NULL,
577+
PRIMARY KEY (id)
578+
)
579+
SQL);
580+
$this->addSql(<<<'SQL'
581+
CREATE INDEX idx_98f2e46e4bbc2705 ON version_dev_require_link (version_id)
582+
SQL);
583+
$this->addSql(<<<'SQL'
584+
CREATE TABLE version_keyword (
585+
version_id INT NOT NULL,
586+
keyword_id INT NOT NULL,
587+
PRIMARY KEY (version_id, keyword_id)
588+
)
589+
SQL);
590+
$this->addSql(<<<'SQL'
591+
CREATE INDEX idx_a65a946f115d4552 ON version_keyword (keyword_id)
592+
SQL);
593+
$this->addSql(<<<'SQL'
594+
CREATE INDEX idx_a65a946f4bbc2705 ON version_keyword (version_id)
595+
SQL);
596+
$this->addSql(<<<'SQL'
597+
CREATE TABLE version_provide_link (
598+
id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL,
599+
linked_package_name VARCHAR(191) NOT NULL,
600+
linked_version_constraint TEXT NOT NULL,
601+
version_id INT NOT NULL,
602+
PRIMARY KEY (id)
603+
)
604+
SQL);
605+
$this->addSql(<<<'SQL'
606+
CREATE INDEX idx_150ec10c4bbc2705 ON version_provide_link (version_id)
607+
SQL);
608+
$this->addSql(<<<'SQL'
609+
CREATE TABLE version_replace_link (
610+
id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL,
611+
linked_package_name VARCHAR(191) NOT NULL,
612+
linked_version_constraint TEXT NOT NULL,
613+
version_id INT NOT NULL,
614+
PRIMARY KEY (id)
615+
)
616+
SQL);
617+
$this->addSql(<<<'SQL'
618+
CREATE INDEX idx_87f1b96a4bbc2705 ON version_replace_link (version_id)
619+
SQL);
620+
$this->addSql(<<<'SQL'
621+
CREATE TABLE version_require_link (
622+
id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL,
623+
linked_package_name VARCHAR(191) NOT NULL,
624+
linked_version_constraint TEXT NOT NULL,
625+
version_id INT NOT NULL,
626+
PRIMARY KEY (id)
627+
)
628+
SQL);
629+
$this->addSql(<<<'SQL'
630+
CREATE INDEX idx_7a1caab14bbc2705 ON version_require_link (version_id)
631+
SQL);
632+
$this->addSql(<<<'SQL'
633+
CREATE TABLE version_suggest_link (
634+
id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL,
635+
linked_package_name VARCHAR(191) NOT NULL,
636+
linked_version_constraint TEXT NOT NULL,
637+
version_id INT NOT NULL,
638+
PRIMARY KEY (id)
639+
)
640+
SQL);
641+
$this->addSql(<<<'SQL'
642+
CREATE INDEX idx_de9b76884bbc2705 ON version_suggest_link (version_id)
643+
SQL);
644+
$this->addSql(<<<'SQL'
645+
ALTER TABLE
646+
version_conflict_link
647+
ADD
648+
CONSTRAINT fk_ad52d6c4bbc2705 FOREIGN KEY (version_id) REFERENCES version (id) NOT DEFERRABLE INITIALLY IMMEDIATE
649+
SQL);
650+
$this->addSql(<<<'SQL'
651+
ALTER TABLE
652+
version_dev_require_link
653+
ADD
654+
CONSTRAINT fk_98f2e46e4bbc2705 FOREIGN KEY (version_id) REFERENCES version (id) NOT DEFERRABLE INITIALLY IMMEDIATE
655+
SQL);
656+
$this->addSql(<<<'SQL'
657+
ALTER TABLE
658+
version_keyword
659+
ADD
660+
CONSTRAINT fk_a65a946f4bbc2705 FOREIGN KEY (version_id) REFERENCES version (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE
661+
SQL);
662+
$this->addSql(<<<'SQL'
663+
ALTER TABLE
664+
version_keyword
665+
ADD
666+
CONSTRAINT fk_a65a946f115d4552 FOREIGN KEY (keyword_id) REFERENCES keyword (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE
667+
SQL);
668+
$this->addSql(<<<'SQL'
669+
ALTER TABLE
670+
version_provide_link
671+
ADD
672+
CONSTRAINT fk_150ec10c4bbc2705 FOREIGN KEY (version_id) REFERENCES version (id) NOT DEFERRABLE INITIALLY IMMEDIATE
673+
SQL);
674+
$this->addSql(<<<'SQL'
675+
ALTER TABLE
676+
version_replace_link
677+
ADD
678+
CONSTRAINT fk_87f1b96a4bbc2705 FOREIGN KEY (version_id) REFERENCES version (id) NOT DEFERRABLE INITIALLY IMMEDIATE
679+
SQL);
680+
$this->addSql(<<<'SQL'
681+
ALTER TABLE
682+
version_require_link
683+
ADD
684+
CONSTRAINT fk_7a1caab14bbc2705 FOREIGN KEY (version_id) REFERENCES version (id) NOT DEFERRABLE INITIALLY IMMEDIATE
685+
SQL);
686+
$this->addSql(<<<'SQL'
687+
ALTER TABLE
688+
version_suggest_link
689+
ADD
690+
CONSTRAINT fk_de9b76884bbc2705 FOREIGN KEY (version_id) REFERENCES version (id) NOT DEFERRABLE INITIALLY IMMEDIATE
691+
SQL);
692+
}
693+
694+
public function createVersionTableFields(): void
695+
{
696+
$this->addSql(<<<'SQL'
697+
ALTER TABLE version ADD package_name VARCHAR(255) NOT NULL
698+
SQL);
699+
$this->addSql(<<<'SQL'
700+
ALTER TABLE version ADD description TEXT DEFAULT NULL
701+
SQL);
702+
$this->addSql(<<<'SQL'
703+
ALTER TABLE version ADD readme TEXT DEFAULT NULL
704+
SQL);
705+
$this->addSql(<<<'SQL'
706+
ALTER TABLE version ADD homepage VARCHAR(255) DEFAULT NULL
707+
SQL);
708+
$this->addSql(<<<'SQL'
709+
ALTER TABLE version ADD license JSON NOT NULL
710+
SQL);
711+
$this->addSql(<<<'SQL'
712+
ALTER TABLE version ADD type VARCHAR(255) DEFAULT NULL
713+
SQL);
714+
$this->addSql(<<<'SQL'
715+
ALTER TABLE version ADD target_dir VARCHAR(255) DEFAULT NULL
716+
SQL);
717+
$this->addSql(<<<'SQL'
718+
ALTER TABLE version ADD source JSON DEFAULT NULL
719+
SQL);
720+
$this->addSql(<<<'SQL'
721+
ALTER TABLE version ADD dist JSON DEFAULT NULL
722+
SQL);
723+
$this->addSql(<<<'SQL'
724+
ALTER TABLE version ADD autoload JSON NOT NULL
725+
SQL);
726+
$this->addSql(<<<'SQL'
727+
ALTER TABLE version ADD binaries JSON DEFAULT NULL
728+
SQL);
729+
$this->addSql(<<<'SQL'
730+
ALTER TABLE version ADD include_paths JSON DEFAULT NULL
731+
SQL);
732+
$this->addSql(<<<'SQL'
733+
ALTER TABLE version ADD php_ext JSON DEFAULT NULL
734+
SQL);
735+
$this->addSql(<<<'SQL'
736+
ALTER TABLE version ADD authors JSON DEFAULT NULL
737+
SQL);
738+
$this->addSql(<<<'SQL'
739+
ALTER TABLE version ADD support JSON DEFAULT NULL
740+
SQL);
741+
$this->addSql(<<<'SQL'
742+
ALTER TABLE version ADD funding JSON DEFAULT NULL
743+
SQL);
744+
$this->addSql(<<<'SQL'
745+
ALTER TABLE version ADD extra JSON DEFAULT NULL
746+
SQL);
747+
$this->addSql(<<<'SQL'
748+
ALTER TABLE version ADD released_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL
749+
SQL);
750+
}
445751
}

src/Doctrine/Entity/AbstractVersionLink.php

Lines changed: 0 additions & 58 deletions
This file was deleted.

0 commit comments

Comments
 (0)