addSql(<<<'SQL' CREATE TABLE site ( id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL, name VARCHAR(100) NOT NULL, city VARCHAR(100) NOT NULL, postal_code VARCHAR(10) NOT NULL, color VARCHAR(7) NOT NULL, full_address TEXT NOT NULL, created_at TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, updated_at TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, PRIMARY KEY (id) ) SQL); // Index unique sur le nom : garantit l'invariant metier "un site porte // un nom unique" et permet a la contrainte UniqueEntity cote Symfony // de s'appuyer sur une erreur DB en cas de race condition. $this->addSql('CREATE UNIQUE INDEX uniq_site_name ON site (name)'); } public function down(Schema $schema): void { // Drop direct : aucune FK depuis/vers la table dans ce ticket. $this->addSql('DROP TABLE site'); } }