* @category Class * @license https://www.gnu.org/licenses/lgpl-3.0.en.html GNU Lesser General Public License * @link www.splendidbear.org * @since 2026. 04. 14. */ final class Version20260414000000 extends AbstractMigration { public function getDescription(): string { return 'Add uuid column to played_game for shareable URLs'; } public function up(Schema $schema): void { $this->addSql('ALTER TABLE played_game ADD uuid UUID DEFAULT NULL'); $this->addSql('UPDATE played_game SET uuid = gen_random_uuid() WHERE uuid IS NULL'); $this->addSql('ALTER TABLE played_game ADD CONSTRAINT played_game_uuid_unique UNIQUE (uuid)'); $this->addSql('ALTER TABLE played_game ALTER COLUMN uuid SET NOT NULL'); $this->addSql('COMMENT ON COLUMN played_game.uuid IS \'(DC2Type:uuid)\''); } public function down(Schema $schema): void { $this->addSql('ALTER TABLE played_game DROP uuid'); } }