From 29cda25a693b3a3aad06b82fac807b092fb38c47 Mon Sep 17 00:00:00 2001 From: Mysaa Date: Sat, 4 Feb 2023 16:16:09 +0100 Subject: [PATCH] Ajout de la migration symfony avec le changement de BDD --- migrations/Version20230204151430.php | 118 ++++++++++++++++++++++++ src/Controller/JsonReaderController.php | 4 +- src/Entity/Edition.php | 9 +- src/Entity/Floor.php | 1 - src/Entity/Place.php | 2 + 5 files changed, 125 insertions(+), 9 deletions(-) create mode 100644 migrations/Version20230204151430.php diff --git a/migrations/Version20230204151430.php b/migrations/Version20230204151430.php new file mode 100644 index 0000000..2997ee7 --- /dev/null +++ b/migrations/Version20230204151430.php @@ -0,0 +1,118 @@ +addSql('ALTER TABLE poly_surface DROP CONSTRAINT fk_a643146fdfb7db2b'); + $this->addSql('ALTER TABLE cylinder DROP CONSTRAINT fk_9b045bea54177093'); + $this->addSql('ALTER TABLE polyhedron DROP CONSTRAINT fk_768611c054177093'); + $this->addSql('ALTER TABLE three_dobject_file DROP CONSTRAINT fk_6e8c161954177093'); + $this->addSql('CREATE SEQUENCE edition_id_seq INCREMENT BY 1 MINVALUE 1 START 1'); + $this->addSql('CREATE SEQUENCE room_user_name_id_seq INCREMENT BY 1 MINVALUE 1 START 1'); + $this->addSql('CREATE TABLE edition (id INT NOT NULL, mode VARCHAR(255) NOT NULL, name_place VARCHAR(255) NOT NULL, val VARCHAR(255) NOT NULL, PRIMARY KEY(id))'); + $this->addSql('CREATE TABLE place_floor (place_id INT NOT NULL, floor_id INT NOT NULL, PRIMARY KEY(place_id, floor_id))'); + $this->addSql('CREATE INDEX IDX_1733CD0DDA6A219 ON place_floor (place_id)'); + $this->addSql('CREATE INDEX IDX_1733CD0D854679E2 ON place_floor (floor_id)'); + $this->addSql('CREATE TABLE room_user_name (id INT NOT NULL, place_id INT DEFAULT NULL, user_name VARCHAR(255) NOT NULL, PRIMARY KEY(id))'); + $this->addSql('CREATE INDEX IDX_B80BD2A6DA6A219 ON room_user_name (place_id)'); + $this->addSql('ALTER TABLE place_floor ADD CONSTRAINT FK_1733CD0DDA6A219 FOREIGN KEY (place_id) REFERENCES place (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('ALTER TABLE place_floor ADD CONSTRAINT FK_1733CD0D854679E2 FOREIGN KEY (floor_id) REFERENCES floor (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('ALTER TABLE room_user_name ADD CONSTRAINT FK_B80BD2A6DA6A219 FOREIGN KEY (place_id) REFERENCES place (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('ALTER TABLE corridor DROP CONSTRAINT fk_d6dee755854679e2'); + $this->addSql('ALTER TABLE corridor DROP CONSTRAINT fk_d6dee755bf396750'); + $this->addSql('ALTER TABLE room DROP CONSTRAINT fk_729f519bbf396750'); + $this->addSql('DROP TABLE corridor'); + $this->addSql('DROP TABLE room'); + $this->addSql('DROP INDEX idx_9b045bea54177093'); + $this->addSql('ALTER TABLE cylinder RENAME COLUMN room_id TO place_id'); + $this->addSql('ALTER TABLE cylinder ADD CONSTRAINT FK_9B045BEADA6A219 FOREIGN KEY (place_id) REFERENCES place (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('CREATE INDEX IDX_9B045BEADA6A219 ON cylinder (place_id)'); + $this->addSql('ALTER TABLE floor ADD altitude INT NOT NULL'); + $this->addSql('ALTER TABLE place ADD editions_id INT DEFAULT NULL'); + $this->addSql('ALTER TABLE place ADD CONSTRAINT FK_741D53CD6BD6E9CC FOREIGN KEY (editions_id) REFERENCES edition (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('CREATE INDEX IDX_741D53CD6BD6E9CC ON place (editions_id)'); + $this->addSql('ALTER TABLE place_name DROP CONSTRAINT fk_94960eea54177093'); + $this->addSql('DROP INDEX idx_94960eea54177093'); + $this->addSql('ALTER TABLE place_name RENAME COLUMN room_id TO place_id'); + $this->addSql('ALTER TABLE place_name ADD CONSTRAINT FK_94960EEADA6A219 FOREIGN KEY (place_id) REFERENCES place (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('CREATE INDEX IDX_94960EEADA6A219 ON place_name (place_id)'); + $this->addSql('DROP INDEX idx_a643146fdfb7db2b'); + $this->addSql('ALTER TABLE poly_surface RENAME COLUMN surface_representation_id TO place_id'); + $this->addSql('ALTER TABLE poly_surface ADD CONSTRAINT FK_A643146FDA6A219 FOREIGN KEY (place_id) REFERENCES place (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('CREATE INDEX IDX_A643146FDA6A219 ON poly_surface (place_id)'); + $this->addSql('DROP INDEX idx_768611c054177093'); + $this->addSql('ALTER TABLE polyhedron RENAME COLUMN room_id TO place_id'); + $this->addSql('ALTER TABLE polyhedron ADD CONSTRAINT FK_768611C0DA6A219 FOREIGN KEY (place_id) REFERENCES place (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('CREATE INDEX IDX_768611C0DA6A219 ON polyhedron (place_id)'); + $this->addSql('DROP INDEX idx_6e8c161954177093'); + $this->addSql('ALTER TABLE three_dobject_file RENAME COLUMN room_id TO place_id'); + $this->addSql('ALTER TABLE three_dobject_file ADD CONSTRAINT FK_6E8C1619DA6A219 FOREIGN KEY (place_id) REFERENCES place (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('CREATE INDEX IDX_6E8C1619DA6A219 ON three_dobject_file (place_id)'); + } + + public function down(Schema $schema): void + { + // this down() migration is auto-generated, please modify it to your needs + $this->addSql('CREATE SCHEMA public'); + $this->addSql('ALTER TABLE place DROP CONSTRAINT FK_741D53CD6BD6E9CC'); + $this->addSql('DROP SEQUENCE edition_id_seq CASCADE'); + $this->addSql('DROP SEQUENCE room_user_name_id_seq CASCADE'); + $this->addSql('CREATE TABLE corridor (id INT NOT NULL, floor_id INT NOT NULL, PRIMARY KEY(id))'); + $this->addSql('CREATE INDEX idx_d6dee755854679e2 ON corridor (floor_id)'); + $this->addSql('CREATE TABLE room (id INT NOT NULL, PRIMARY KEY(id))'); + $this->addSql('ALTER TABLE corridor ADD CONSTRAINT fk_d6dee755854679e2 FOREIGN KEY (floor_id) REFERENCES floor (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('ALTER TABLE corridor ADD CONSTRAINT fk_d6dee755bf396750 FOREIGN KEY (id) REFERENCES place (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('ALTER TABLE room ADD CONSTRAINT fk_729f519bbf396750 FOREIGN KEY (id) REFERENCES place (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('ALTER TABLE place_floor DROP CONSTRAINT FK_1733CD0DDA6A219'); + $this->addSql('ALTER TABLE place_floor DROP CONSTRAINT FK_1733CD0D854679E2'); + $this->addSql('ALTER TABLE room_user_name DROP CONSTRAINT FK_B80BD2A6DA6A219'); + $this->addSql('DROP TABLE edition'); + $this->addSql('DROP TABLE place_floor'); + $this->addSql('DROP TABLE room_user_name'); + $this->addSql('ALTER TABLE cylinder DROP CONSTRAINT FK_9B045BEADA6A219'); + $this->addSql('DROP INDEX IDX_9B045BEADA6A219'); + $this->addSql('ALTER TABLE cylinder RENAME COLUMN place_id TO room_id'); + $this->addSql('ALTER TABLE cylinder ADD CONSTRAINT fk_9b045bea54177093 FOREIGN KEY (room_id) REFERENCES room (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('CREATE INDEX idx_9b045bea54177093 ON cylinder (room_id)'); + $this->addSql('ALTER TABLE place_name DROP CONSTRAINT FK_94960EEADA6A219'); + $this->addSql('DROP INDEX IDX_94960EEADA6A219'); + $this->addSql('ALTER TABLE place_name RENAME COLUMN place_id TO room_id'); + $this->addSql('ALTER TABLE place_name ADD CONSTRAINT fk_94960eea54177093 FOREIGN KEY (room_id) REFERENCES place (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('CREATE INDEX idx_94960eea54177093 ON place_name (room_id)'); + $this->addSql('ALTER TABLE polyhedron DROP CONSTRAINT FK_768611C0DA6A219'); + $this->addSql('DROP INDEX IDX_768611C0DA6A219'); + $this->addSql('ALTER TABLE polyhedron RENAME COLUMN place_id TO room_id'); + $this->addSql('ALTER TABLE polyhedron ADD CONSTRAINT fk_768611c054177093 FOREIGN KEY (room_id) REFERENCES room (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('CREATE INDEX idx_768611c054177093 ON polyhedron (room_id)'); + $this->addSql('DROP INDEX IDX_741D53CD6BD6E9CC'); + $this->addSql('ALTER TABLE place DROP editions_id'); + $this->addSql('ALTER TABLE poly_surface DROP CONSTRAINT FK_A643146FDA6A219'); + $this->addSql('DROP INDEX IDX_A643146FDA6A219'); + $this->addSql('ALTER TABLE poly_surface RENAME COLUMN place_id TO surface_representation_id'); + $this->addSql('ALTER TABLE poly_surface ADD CONSTRAINT fk_a643146fdfb7db2b FOREIGN KEY (surface_representation_id) REFERENCES corridor (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('CREATE INDEX idx_a643146fdfb7db2b ON poly_surface (surface_representation_id)'); + $this->addSql('ALTER TABLE three_dobject_file DROP CONSTRAINT FK_6E8C1619DA6A219'); + $this->addSql('DROP INDEX IDX_6E8C1619DA6A219'); + $this->addSql('ALTER TABLE three_dobject_file RENAME COLUMN place_id TO room_id'); + $this->addSql('ALTER TABLE three_dobject_file ADD CONSTRAINT fk_6e8c161954177093 FOREIGN KEY (room_id) REFERENCES room (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('CREATE INDEX idx_6e8c161954177093 ON three_dobject_file (room_id)'); + $this->addSql('ALTER TABLE floor DROP altitude'); + } +} diff --git a/src/Controller/JsonReaderController.php b/src/Controller/JsonReaderController.php index 6cd8f80..9801349 100644 --- a/src/Controller/JsonReaderController.php +++ b/src/Controller/JsonReaderController.php @@ -101,7 +101,7 @@ class JsonReaderController extends AbstractController $cyl->setCylinderBase($cbas); $manager->persist($cyl); $r->addCylinderRepresentation($cyl);*/ - $f->addCorridor($c) + $f->addCorridor($c); $manager->persist($c); $manager->flush(); @@ -109,7 +109,7 @@ class JsonReaderController extends AbstractController } #[Route('/api/debug/connect')] - public function addCorridor(Request $request, ManagerRegistry $mr, PlaceRepository $prep): Response { + public function connect(Request $request, ManagerRegistry $mr, PlaceRepository $prep): Response { $manager = $mr->getManager(); diff --git a/src/Entity/Edition.php b/src/Entity/Edition.php index 5d82000..60cfaba 100644 --- a/src/Entity/Edition.php +++ b/src/Entity/Edition.php @@ -16,19 +16,16 @@ class Edition #[ORM\Column(type: "integer")] private $id; - #[ORM\Id] + #[ORM\Column(type: "string")] private $mode; - #[ORM\Id] - #[ORM\Column(type: "int")] - private $idPlace; + #[ORM\OneToMany(targetEntity: Place::class, mappedBy: "editions")] + private $editedPlace; - #[ORM\Id] #[ORM\Column(type: "string")] private $namePlace; - #[ORM\Id] #[ORM\Column(type: "string")] private $val; diff --git a/src/Entity/Floor.php b/src/Entity/Floor.php index e91ea78..4f52473 100644 --- a/src/Entity/Floor.php +++ b/src/Entity/Floor.php @@ -15,7 +15,6 @@ class Floor #[ORM\Column(type: "integer")] private $id; - #[ORM\Id] #[ORM\Column(type: "integer")] private $altitude; diff --git a/src/Entity/Place.php b/src/Entity/Place.php index c3e27f9..aafe1bf 100644 --- a/src/Entity/Place.php +++ b/src/Entity/Place.php @@ -46,6 +46,8 @@ class Place #[ORM\OneToMany(targetEntity: PolySurface::class, mappedBy: "place")] private $PolySurfaceRepresentation; + #[ORM\ManyToOne(targetEntity: Edition::class, inversedBy: "editedPlace")] + private $editions; public function __construct() {