Skip to content

Commit dbee8ec

Browse files
committed
Remove obsolete metadata fields from version tables
Signed-off-by: Tim Goudriaan <tim@codedmonkey.com>
1 parent 6526a22 commit dbee8ec

File tree

10 files changed

+396
-623
lines changed

10 files changed

+396
-623
lines changed

migrations/Version20260120114538.php

Lines changed: 306 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,14 @@ 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
{
29+
$this->createVersionTableFields();
30+
$this->createVersionLinkTables();
2731
$this->revertVersionTableColumns();
2832
$this->dropCurrentMetadataColumnFromVersionTable();
2933
$this->fillVersionTables();
@@ -351,6 +355,308 @@ private function updateVersionTableColumns(): void
351355
SQL);
352356
}
353357

358+
private function dropVersionLinkTables(): void
359+
{
360+
$this->addSql(<<<'SQL'
361+
ALTER TABLE version_conflict_link DROP CONSTRAINT fk_ad52d6c4bbc2705
362+
SQL);
363+
$this->addSql(<<<'SQL'
364+
ALTER TABLE version_dev_require_link DROP CONSTRAINT fk_98f2e46e4bbc2705
365+
SQL);
366+
$this->addSql(<<<'SQL'
367+
ALTER TABLE version_keyword DROP CONSTRAINT fk_a65a946f4bbc2705
368+
SQL);
369+
$this->addSql(<<<'SQL'
370+
ALTER TABLE version_keyword DROP CONSTRAINT fk_a65a946f115d4552
371+
SQL);
372+
$this->addSql(<<<'SQL'
373+
ALTER TABLE version_provide_link DROP CONSTRAINT fk_150ec10c4bbc2705
374+
SQL);
375+
$this->addSql(<<<'SQL'
376+
ALTER TABLE version_replace_link DROP CONSTRAINT fk_87f1b96a4bbc2705
377+
SQL);
378+
$this->addSql(<<<'SQL'
379+
ALTER TABLE version_require_link DROP CONSTRAINT fk_7a1caab14bbc2705
380+
SQL);
381+
$this->addSql(<<<'SQL'
382+
ALTER TABLE version_suggest_link DROP CONSTRAINT fk_de9b76884bbc2705
383+
SQL);
384+
$this->addSql(<<<'SQL'
385+
DROP TABLE version_conflict_link
386+
SQL);
387+
$this->addSql(<<<'SQL'
388+
DROP TABLE version_dev_require_link
389+
SQL);
390+
$this->addSql(<<<'SQL'
391+
DROP TABLE version_keyword
392+
SQL);
393+
$this->addSql(<<<'SQL'
394+
DROP TABLE version_provide_link
395+
SQL);
396+
$this->addSql(<<<'SQL'
397+
DROP TABLE version_replace_link
398+
SQL);
399+
$this->addSql(<<<'SQL'
400+
DROP TABLE version_require_link
401+
SQL);
402+
$this->addSql(<<<'SQL'
403+
DROP TABLE version_suggest_link
404+
SQL);
405+
}
406+
407+
private function dropVersionTableFields(): void
408+
{
409+
$this->addSql(<<<'SQL'
410+
ALTER TABLE version DROP package_name
411+
SQL);
412+
$this->addSql(<<<'SQL'
413+
ALTER TABLE version DROP description
414+
SQL);
415+
$this->addSql(<<<'SQL'
416+
ALTER TABLE version DROP readme
417+
SQL);
418+
$this->addSql(<<<'SQL'
419+
ALTER TABLE version DROP homepage
420+
SQL);
421+
$this->addSql(<<<'SQL'
422+
ALTER TABLE version DROP license
423+
SQL);
424+
$this->addSql(<<<'SQL'
425+
ALTER TABLE version DROP type
426+
SQL);
427+
$this->addSql(<<<'SQL'
428+
ALTER TABLE version DROP target_dir
429+
SQL);
430+
$this->addSql(<<<'SQL'
431+
ALTER TABLE version DROP source
432+
SQL);
433+
$this->addSql(<<<'SQL'
434+
ALTER TABLE version DROP dist
435+
SQL);
436+
$this->addSql(<<<'SQL'
437+
ALTER TABLE version DROP autoload
438+
SQL);
439+
$this->addSql(<<<'SQL'
440+
ALTER TABLE version DROP binaries
441+
SQL);
442+
$this->addSql(<<<'SQL'
443+
ALTER TABLE version DROP include_paths
444+
SQL);
445+
$this->addSql(<<<'SQL'
446+
ALTER TABLE version DROP php_ext
447+
SQL);
448+
$this->addSql(<<<'SQL'
449+
ALTER TABLE version DROP authors
450+
SQL);
451+
$this->addSql(<<<'SQL'
452+
ALTER TABLE version DROP support
453+
SQL);
454+
$this->addSql(<<<'SQL'
455+
ALTER TABLE version DROP funding
456+
SQL);
457+
$this->addSql(<<<'SQL'
458+
ALTER TABLE version DROP extra
459+
SQL);
460+
$this->addSql(<<<'SQL'
461+
ALTER TABLE version DROP released_at
462+
SQL);
463+
}
464+
465+
private function createVersionTableFields(): void
466+
{
467+
$this->addSql(<<<'SQL'
468+
ALTER TABLE version ADD package_name VARCHAR(255) NOT NULL
469+
SQL);
470+
$this->addSql(<<<'SQL'
471+
ALTER TABLE version ADD description TEXT DEFAULT NULL
472+
SQL);
473+
$this->addSql(<<<'SQL'
474+
ALTER TABLE version ADD readme TEXT DEFAULT NULL
475+
SQL);
476+
$this->addSql(<<<'SQL'
477+
ALTER TABLE version ADD homepage VARCHAR(255) DEFAULT NULL
478+
SQL);
479+
$this->addSql(<<<'SQL'
480+
ALTER TABLE version ADD license JSON NOT NULL
481+
SQL);
482+
$this->addSql(<<<'SQL'
483+
ALTER TABLE version ADD type VARCHAR(255) DEFAULT NULL
484+
SQL);
485+
$this->addSql(<<<'SQL'
486+
ALTER TABLE version ADD target_dir VARCHAR(255) DEFAULT NULL
487+
SQL);
488+
$this->addSql(<<<'SQL'
489+
ALTER TABLE version ADD source JSON DEFAULT NULL
490+
SQL);
491+
$this->addSql(<<<'SQL'
492+
ALTER TABLE version ADD dist JSON DEFAULT NULL
493+
SQL);
494+
$this->addSql(<<<'SQL'
495+
ALTER TABLE version ADD autoload JSON NOT NULL
496+
SQL);
497+
$this->addSql(<<<'SQL'
498+
ALTER TABLE version ADD binaries JSON DEFAULT NULL
499+
SQL);
500+
$this->addSql(<<<'SQL'
501+
ALTER TABLE version ADD include_paths JSON DEFAULT NULL
502+
SQL);
503+
$this->addSql(<<<'SQL'
504+
ALTER TABLE version ADD php_ext JSON DEFAULT NULL
505+
SQL);
506+
$this->addSql(<<<'SQL'
507+
ALTER TABLE version ADD authors JSON DEFAULT NULL
508+
SQL);
509+
$this->addSql(<<<'SQL'
510+
ALTER TABLE version ADD support JSON DEFAULT NULL
511+
SQL);
512+
$this->addSql(<<<'SQL'
513+
ALTER TABLE version ADD funding JSON DEFAULT NULL
514+
SQL);
515+
$this->addSql(<<<'SQL'
516+
ALTER TABLE version ADD extra JSON DEFAULT NULL
517+
SQL);
518+
$this->addSql(<<<'SQL'
519+
ALTER TABLE version ADD released_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL
520+
SQL);
521+
}
522+
523+
private function createVersionLinkTables(): void
524+
{
525+
$this->addSql(<<<'SQL'
526+
CREATE TABLE version_conflict_link (
527+
id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL,
528+
linked_package_name VARCHAR(191) NOT NULL,
529+
linked_version_constraint TEXT NOT NULL,
530+
version_id INT NOT NULL,
531+
PRIMARY KEY (id)
532+
)
533+
SQL);
534+
$this->addSql(<<<'SQL'
535+
CREATE INDEX idx_ad52d6c4bbc2705 ON version_conflict_link (version_id)
536+
SQL);
537+
$this->addSql(<<<'SQL'
538+
CREATE TABLE version_dev_require_link (
539+
id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL,
540+
linked_package_name VARCHAR(191) NOT NULL,
541+
linked_version_constraint TEXT NOT NULL,
542+
version_id INT NOT NULL,
543+
PRIMARY KEY (id)
544+
)
545+
SQL);
546+
$this->addSql(<<<'SQL'
547+
CREATE INDEX idx_98f2e46e4bbc2705 ON version_dev_require_link (version_id)
548+
SQL);
549+
$this->addSql(<<<'SQL'
550+
CREATE TABLE version_keyword (
551+
version_id INT NOT NULL,
552+
keyword_id INT NOT NULL,
553+
PRIMARY KEY (version_id, keyword_id)
554+
)
555+
SQL);
556+
$this->addSql(<<<'SQL'
557+
CREATE INDEX idx_a65a946f115d4552 ON version_keyword (keyword_id)
558+
SQL);
559+
$this->addSql(<<<'SQL'
560+
CREATE INDEX idx_a65a946f4bbc2705 ON version_keyword (version_id)
561+
SQL);
562+
$this->addSql(<<<'SQL'
563+
CREATE TABLE version_provide_link (
564+
id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL,
565+
linked_package_name VARCHAR(191) NOT NULL,
566+
linked_version_constraint TEXT NOT NULL,
567+
version_id INT NOT NULL,
568+
PRIMARY KEY (id)
569+
)
570+
SQL);
571+
$this->addSql(<<<'SQL'
572+
CREATE INDEX idx_150ec10c4bbc2705 ON version_provide_link (version_id)
573+
SQL);
574+
$this->addSql(<<<'SQL'
575+
CREATE TABLE version_replace_link (
576+
id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL,
577+
linked_package_name VARCHAR(191) NOT NULL,
578+
linked_version_constraint TEXT NOT NULL,
579+
version_id INT NOT NULL,
580+
PRIMARY KEY (id)
581+
)
582+
SQL);
583+
$this->addSql(<<<'SQL'
584+
CREATE INDEX idx_87f1b96a4bbc2705 ON version_replace_link (version_id)
585+
SQL);
586+
$this->addSql(<<<'SQL'
587+
CREATE TABLE version_require_link (
588+
id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL,
589+
linked_package_name VARCHAR(191) NOT NULL,
590+
linked_version_constraint TEXT NOT NULL,
591+
version_id INT NOT NULL,
592+
PRIMARY KEY (id)
593+
)
594+
SQL);
595+
$this->addSql(<<<'SQL'
596+
CREATE INDEX idx_7a1caab14bbc2705 ON version_require_link (version_id)
597+
SQL);
598+
$this->addSql(<<<'SQL'
599+
CREATE TABLE version_suggest_link (
600+
id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL,
601+
linked_package_name VARCHAR(191) NOT NULL,
602+
linked_version_constraint TEXT NOT NULL,
603+
version_id INT NOT NULL,
604+
PRIMARY KEY (id)
605+
)
606+
SQL);
607+
$this->addSql(<<<'SQL'
608+
CREATE INDEX idx_de9b76884bbc2705 ON version_suggest_link (version_id)
609+
SQL);
610+
$this->addSql(<<<'SQL'
611+
ALTER TABLE
612+
version_conflict_link
613+
ADD
614+
CONSTRAINT fk_ad52d6c4bbc2705 FOREIGN KEY (version_id) REFERENCES version (id) NOT DEFERRABLE INITIALLY IMMEDIATE
615+
SQL);
616+
$this->addSql(<<<'SQL'
617+
ALTER TABLE
618+
version_dev_require_link
619+
ADD
620+
CONSTRAINT fk_98f2e46e4bbc2705 FOREIGN KEY (version_id) REFERENCES version (id) NOT DEFERRABLE INITIALLY IMMEDIATE
621+
SQL);
622+
$this->addSql(<<<'SQL'
623+
ALTER TABLE
624+
version_keyword
625+
ADD
626+
CONSTRAINT fk_a65a946f4bbc2705 FOREIGN KEY (version_id) REFERENCES version (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE
627+
SQL);
628+
$this->addSql(<<<'SQL'
629+
ALTER TABLE
630+
version_keyword
631+
ADD
632+
CONSTRAINT fk_a65a946f115d4552 FOREIGN KEY (keyword_id) REFERENCES keyword (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE
633+
SQL);
634+
$this->addSql(<<<'SQL'
635+
ALTER TABLE
636+
version_provide_link
637+
ADD
638+
CONSTRAINT fk_150ec10c4bbc2705 FOREIGN KEY (version_id) REFERENCES version (id) NOT DEFERRABLE INITIALLY IMMEDIATE
639+
SQL);
640+
$this->addSql(<<<'SQL'
641+
ALTER TABLE
642+
version_replace_link
643+
ADD
644+
CONSTRAINT fk_87f1b96a4bbc2705 FOREIGN KEY (version_id) REFERENCES version (id) NOT DEFERRABLE INITIALLY IMMEDIATE
645+
SQL);
646+
$this->addSql(<<<'SQL'
647+
ALTER TABLE
648+
version_require_link
649+
ADD
650+
CONSTRAINT fk_7a1caab14bbc2705 FOREIGN KEY (version_id) REFERENCES version (id) NOT DEFERRABLE INITIALLY IMMEDIATE
651+
SQL);
652+
$this->addSql(<<<'SQL'
653+
ALTER TABLE
654+
version_suggest_link
655+
ADD
656+
CONSTRAINT fk_de9b76884bbc2705 FOREIGN KEY (version_id) REFERENCES version (id) NOT DEFERRABLE INITIALLY IMMEDIATE
657+
SQL);
658+
}
659+
354660
private function revertVersionTableColumns(): void
355661
{
356662
$this->addSql(<<<'SQL'

src/Doctrine/Entity/AbstractVersionLink.php

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

0 commit comments

Comments
 (0)