Skip to content

Commit 69c7ec6

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

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->dropMetadataTables();
@@ -340,6 +344,308 @@ 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+
454+
public function createVersionTableFields(): void
455+
{
456+
$this->addSql(<<<'SQL'
457+
ALTER TABLE version ADD package_name VARCHAR(255) NOT NULL
458+
SQL);
459+
$this->addSql(<<<'SQL'
460+
ALTER TABLE version ADD description TEXT DEFAULT NULL
461+
SQL);
462+
$this->addSql(<<<'SQL'
463+
ALTER TABLE version ADD readme TEXT DEFAULT NULL
464+
SQL);
465+
$this->addSql(<<<'SQL'
466+
ALTER TABLE version ADD homepage VARCHAR(255) DEFAULT NULL
467+
SQL);
468+
$this->addSql(<<<'SQL'
469+
ALTER TABLE version ADD license JSON NOT NULL
470+
SQL);
471+
$this->addSql(<<<'SQL'
472+
ALTER TABLE version ADD type VARCHAR(255) DEFAULT NULL
473+
SQL);
474+
$this->addSql(<<<'SQL'
475+
ALTER TABLE version ADD target_dir VARCHAR(255) DEFAULT NULL
476+
SQL);
477+
$this->addSql(<<<'SQL'
478+
ALTER TABLE version ADD source JSON DEFAULT NULL
479+
SQL);
480+
$this->addSql(<<<'SQL'
481+
ALTER TABLE version ADD dist JSON DEFAULT NULL
482+
SQL);
483+
$this->addSql(<<<'SQL'
484+
ALTER TABLE version ADD autoload JSON NOT NULL
485+
SQL);
486+
$this->addSql(<<<'SQL'
487+
ALTER TABLE version ADD binaries JSON DEFAULT NULL
488+
SQL);
489+
$this->addSql(<<<'SQL'
490+
ALTER TABLE version ADD include_paths JSON DEFAULT NULL
491+
SQL);
492+
$this->addSql(<<<'SQL'
493+
ALTER TABLE version ADD php_ext JSON DEFAULT NULL
494+
SQL);
495+
$this->addSql(<<<'SQL'
496+
ALTER TABLE version ADD authors JSON DEFAULT NULL
497+
SQL);
498+
$this->addSql(<<<'SQL'
499+
ALTER TABLE version ADD support JSON DEFAULT NULL
500+
SQL);
501+
$this->addSql(<<<'SQL'
502+
ALTER TABLE version ADD funding JSON DEFAULT NULL
503+
SQL);
504+
$this->addSql(<<<'SQL'
505+
ALTER TABLE version ADD extra JSON DEFAULT NULL
506+
SQL);
507+
$this->addSql(<<<'SQL'
508+
ALTER TABLE version ADD released_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL
509+
SQL);
510+
}
511+
512+
public function createVersionLinkTables(): void
513+
{
514+
$this->addSql(<<<'SQL'
515+
CREATE TABLE version_conflict_link (
516+
id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL,
517+
linked_package_name VARCHAR(191) NOT NULL,
518+
linked_version_constraint TEXT NOT NULL,
519+
version_id INT NOT NULL,
520+
PRIMARY KEY (id)
521+
)
522+
SQL);
523+
$this->addSql(<<<'SQL'
524+
CREATE INDEX idx_ad52d6c4bbc2705 ON version_conflict_link (version_id)
525+
SQL);
526+
$this->addSql(<<<'SQL'
527+
CREATE TABLE version_dev_require_link (
528+
id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL,
529+
linked_package_name VARCHAR(191) NOT NULL,
530+
linked_version_constraint TEXT NOT NULL,
531+
version_id INT NOT NULL,
532+
PRIMARY KEY (id)
533+
)
534+
SQL);
535+
$this->addSql(<<<'SQL'
536+
CREATE INDEX idx_98f2e46e4bbc2705 ON version_dev_require_link (version_id)
537+
SQL);
538+
$this->addSql(<<<'SQL'
539+
CREATE TABLE version_keyword (
540+
version_id INT NOT NULL,
541+
keyword_id INT NOT NULL,
542+
PRIMARY KEY (version_id, keyword_id)
543+
)
544+
SQL);
545+
$this->addSql(<<<'SQL'
546+
CREATE INDEX idx_a65a946f115d4552 ON version_keyword (keyword_id)
547+
SQL);
548+
$this->addSql(<<<'SQL'
549+
CREATE INDEX idx_a65a946f4bbc2705 ON version_keyword (version_id)
550+
SQL);
551+
$this->addSql(<<<'SQL'
552+
CREATE TABLE version_provide_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_150ec10c4bbc2705 ON version_provide_link (version_id)
562+
SQL);
563+
$this->addSql(<<<'SQL'
564+
CREATE TABLE version_replace_link (
565+
id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL,
566+
linked_package_name VARCHAR(191) NOT NULL,
567+
linked_version_constraint TEXT NOT NULL,
568+
version_id INT NOT NULL,
569+
PRIMARY KEY (id)
570+
)
571+
SQL);
572+
$this->addSql(<<<'SQL'
573+
CREATE INDEX idx_87f1b96a4bbc2705 ON version_replace_link (version_id)
574+
SQL);
575+
$this->addSql(<<<'SQL'
576+
CREATE TABLE version_require_link (
577+
id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL,
578+
linked_package_name VARCHAR(191) NOT NULL,
579+
linked_version_constraint TEXT NOT NULL,
580+
version_id INT NOT NULL,
581+
PRIMARY KEY (id)
582+
)
583+
SQL);
584+
$this->addSql(<<<'SQL'
585+
CREATE INDEX idx_7a1caab14bbc2705 ON version_require_link (version_id)
586+
SQL);
587+
$this->addSql(<<<'SQL'
588+
CREATE TABLE version_suggest_link (
589+
id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL,
590+
linked_package_name VARCHAR(191) NOT NULL,
591+
linked_version_constraint TEXT NOT NULL,
592+
version_id INT NOT NULL,
593+
PRIMARY KEY (id)
594+
)
595+
SQL);
596+
$this->addSql(<<<'SQL'
597+
CREATE INDEX idx_de9b76884bbc2705 ON version_suggest_link (version_id)
598+
SQL);
599+
$this->addSql(<<<'SQL'
600+
ALTER TABLE
601+
version_conflict_link
602+
ADD
603+
CONSTRAINT fk_ad52d6c4bbc2705 FOREIGN KEY (version_id) REFERENCES version (id) NOT DEFERRABLE INITIALLY IMMEDIATE
604+
SQL);
605+
$this->addSql(<<<'SQL'
606+
ALTER TABLE
607+
version_dev_require_link
608+
ADD
609+
CONSTRAINT fk_98f2e46e4bbc2705 FOREIGN KEY (version_id) REFERENCES version (id) NOT DEFERRABLE INITIALLY IMMEDIATE
610+
SQL);
611+
$this->addSql(<<<'SQL'
612+
ALTER TABLE
613+
version_keyword
614+
ADD
615+
CONSTRAINT fk_a65a946f4bbc2705 FOREIGN KEY (version_id) REFERENCES version (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE
616+
SQL);
617+
$this->addSql(<<<'SQL'
618+
ALTER TABLE
619+
version_keyword
620+
ADD
621+
CONSTRAINT fk_a65a946f115d4552 FOREIGN KEY (keyword_id) REFERENCES keyword (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE
622+
SQL);
623+
$this->addSql(<<<'SQL'
624+
ALTER TABLE
625+
version_provide_link
626+
ADD
627+
CONSTRAINT fk_150ec10c4bbc2705 FOREIGN KEY (version_id) REFERENCES version (id) NOT DEFERRABLE INITIALLY IMMEDIATE
628+
SQL);
629+
$this->addSql(<<<'SQL'
630+
ALTER TABLE
631+
version_replace_link
632+
ADD
633+
CONSTRAINT fk_87f1b96a4bbc2705 FOREIGN KEY (version_id) REFERENCES version (id) NOT DEFERRABLE INITIALLY IMMEDIATE
634+
SQL);
635+
$this->addSql(<<<'SQL'
636+
ALTER TABLE
637+
version_require_link
638+
ADD
639+
CONSTRAINT fk_7a1caab14bbc2705 FOREIGN KEY (version_id) REFERENCES version (id) NOT DEFERRABLE INITIALLY IMMEDIATE
640+
SQL);
641+
$this->addSql(<<<'SQL'
642+
ALTER TABLE
643+
version_suggest_link
644+
ADD
645+
CONSTRAINT fk_de9b76884bbc2705 FOREIGN KEY (version_id) REFERENCES version (id) NOT DEFERRABLE INITIALLY IMMEDIATE
646+
SQL);
647+
}
648+
343649
public function revertVersionTableColumns(): void
344650
{
345651
$this->addSql(<<<'SQL'

src/Doctrine/Entity/AbstractVersionLink.php

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

0 commit comments

Comments
 (0)