addSql('ALTER TABLE disposition ADD slot SMALLINT DEFAULT NULL'); $this->addSql(<<<'SQL' UPDATE disposition INNER JOIN ( SELECT id, ROW_NUMBER() OVER (PARTITION BY assignment_id ORDER BY id) AS slot FROM disposition WHERE status <> 'called_off' AND assignment_id IS NOT NULL ) AS numbered ON numbered.id = disposition.id SET disposition.slot = numbered.slot SQL); } public function down(Schema $schema): void { $this->addSql('ALTER TABLE disposition DROP slot'); } }