Skip to content

Commit 542ca28

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

File tree

10 files changed

+410
-623
lines changed

10 files changed

+410
-623
lines changed

migrations/Version20260120114538.php

Lines changed: 320 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,322 @@ 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) DEFAULT 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 DEFAULT 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 DEFAULT 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+
$this->addSql(<<<'SQL'
523+
UPDATE version SET package_name = 'place/holder', license = '[]', autoload = '[]'
524+
SQL);
525+
526+
$this->addSql(<<<'SQL'
527+
ALTER TABLE version CHANGE package_name package_name VARCHAR(255) NOT NULL
528+
SQL);
529+
$this->addSql(<<<'SQL'
530+
ALTER TABLE version CHANGE license license JSON NOT NULL
531+
SQL);
532+
$this->addSql(<<<'SQL'
533+
ALTER TABLE version CHANGE autoload autoload JSON NOT NULL
534+
SQL);
535+
}
536+
537+
private function createVersionLinkTables(): void
538+
{
539+
$this->addSql(<<<'SQL'
540+
CREATE TABLE version_conflict_link (
541+
id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL,
542+
linked_package_name VARCHAR(191) NOT NULL,
543+
linked_version_constraint TEXT NOT NULL,
544+
version_id INT NOT NULL,
545+
PRIMARY KEY (id)
546+
)
547+
SQL);
548+
$this->addSql(<<<'SQL'
549+
CREATE INDEX idx_ad52d6c4bbc2705 ON version_conflict_link (version_id)
550+
SQL);
551+
$this->addSql(<<<'SQL'
552+
CREATE TABLE version_dev_require_link (
553+
id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL,
554+
linked_package_name VARCHAR(191) NOT NULL,
555+
linked_version_constraint TEXT NOT NULL,
556+
version_id INT NOT NULL,
557+
PRIMARY KEY (id)
558+
)
559+
SQL);
560+
$this->addSql(<<<'SQL'
561+
CREATE INDEX idx_98f2e46e4bbc2705 ON version_dev_require_link (version_id)
562+
SQL);
563+
$this->addSql(<<<'SQL'
564+
CREATE TABLE version_keyword (
565+
version_id INT NOT NULL,
566+
keyword_id INT NOT NULL,
567+
PRIMARY KEY (version_id, keyword_id)
568+
)
569+
SQL);
570+
$this->addSql(<<<'SQL'
571+
CREATE INDEX idx_a65a946f115d4552 ON version_keyword (keyword_id)
572+
SQL);
573+
$this->addSql(<<<'SQL'
574+
CREATE INDEX idx_a65a946f4bbc2705 ON version_keyword (version_id)
575+
SQL);
576+
$this->addSql(<<<'SQL'
577+
CREATE TABLE version_provide_link (
578+
id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL,
579+
linked_package_name VARCHAR(191) NOT NULL,
580+
linked_version_constraint TEXT NOT NULL,
581+
version_id INT NOT NULL,
582+
PRIMARY KEY (id)
583+
)
584+
SQL);
585+
$this->addSql(<<<'SQL'
586+
CREATE INDEX idx_150ec10c4bbc2705 ON version_provide_link (version_id)
587+
SQL);
588+
$this->addSql(<<<'SQL'
589+
CREATE TABLE version_replace_link (
590+
id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL,
591+
linked_package_name VARCHAR(191) NOT NULL,
592+
linked_version_constraint TEXT NOT NULL,
593+
version_id INT NOT NULL,
594+
PRIMARY KEY (id)
595+
)
596+
SQL);
597+
$this->addSql(<<<'SQL'
598+
CREATE INDEX idx_87f1b96a4bbc2705 ON version_replace_link (version_id)
599+
SQL);
600+
$this->addSql(<<<'SQL'
601+
CREATE TABLE version_require_link (
602+
id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL,
603+
linked_package_name VARCHAR(191) NOT NULL,
604+
linked_version_constraint TEXT NOT NULL,
605+
version_id INT NOT NULL,
606+
PRIMARY KEY (id)
607+
)
608+
SQL);
609+
$this->addSql(<<<'SQL'
610+
CREATE INDEX idx_7a1caab14bbc2705 ON version_require_link (version_id)
611+
SQL);
612+
$this->addSql(<<<'SQL'
613+
CREATE TABLE version_suggest_link (
614+
id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL,
615+
linked_package_name VARCHAR(191) NOT NULL,
616+
linked_version_constraint TEXT NOT NULL,
617+
version_id INT NOT NULL,
618+
PRIMARY KEY (id)
619+
)
620+
SQL);
621+
$this->addSql(<<<'SQL'
622+
CREATE INDEX idx_de9b76884bbc2705 ON version_suggest_link (version_id)
623+
SQL);
624+
$this->addSql(<<<'SQL'
625+
ALTER TABLE
626+
version_conflict_link
627+
ADD
628+
CONSTRAINT fk_ad52d6c4bbc2705 FOREIGN KEY (version_id) REFERENCES version (id) NOT DEFERRABLE INITIALLY IMMEDIATE
629+
SQL);
630+
$this->addSql(<<<'SQL'
631+
ALTER TABLE
632+
version_dev_require_link
633+
ADD
634+
CONSTRAINT fk_98f2e46e4bbc2705 FOREIGN KEY (version_id) REFERENCES version (id) NOT DEFERRABLE INITIALLY IMMEDIATE
635+
SQL);
636+
$this->addSql(<<<'SQL'
637+
ALTER TABLE
638+
version_keyword
639+
ADD
640+
CONSTRAINT fk_a65a946f4bbc2705 FOREIGN KEY (version_id) REFERENCES version (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE
641+
SQL);
642+
$this->addSql(<<<'SQL'
643+
ALTER TABLE
644+
version_keyword
645+
ADD
646+
CONSTRAINT fk_a65a946f115d4552 FOREIGN KEY (keyword_id) REFERENCES keyword (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE
647+
SQL);
648+
$this->addSql(<<<'SQL'
649+
ALTER TABLE
650+
version_provide_link
651+
ADD
652+
CONSTRAINT fk_150ec10c4bbc2705 FOREIGN KEY (version_id) REFERENCES version (id) NOT DEFERRABLE INITIALLY IMMEDIATE
653+
SQL);
654+
$this->addSql(<<<'SQL'
655+
ALTER TABLE
656+
version_replace_link
657+
ADD
658+
CONSTRAINT fk_87f1b96a4bbc2705 FOREIGN KEY (version_id) REFERENCES version (id) NOT DEFERRABLE INITIALLY IMMEDIATE
659+
SQL);
660+
$this->addSql(<<<'SQL'
661+
ALTER TABLE
662+
version_require_link
663+
ADD
664+
CONSTRAINT fk_7a1caab14bbc2705 FOREIGN KEY (version_id) REFERENCES version (id) NOT DEFERRABLE INITIALLY IMMEDIATE
665+
SQL);
666+
$this->addSql(<<<'SQL'
667+
ALTER TABLE
668+
version_suggest_link
669+
ADD
670+
CONSTRAINT fk_de9b76884bbc2705 FOREIGN KEY (version_id) REFERENCES version (id) NOT DEFERRABLE INITIALLY IMMEDIATE
671+
SQL);
672+
}
673+
354674
private function revertVersionTableColumns(): void
355675
{
356676
$this->addSql(<<<'SQL'

src/Doctrine/Entity/AbstractVersionLink.php

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

0 commit comments

Comments
 (0)