execute("UPDATE orderbook SET quantityclass = TRIM(quantityclass) WHERE quantityclass IS NOT NULL"); // 2) Bonifica: i valori non interamente numerici o vuoti diventano 0 // (REGEXP '^[0-9]+$' = solo cifre). Rivedi manualmente eventuali 0 // risultanti dopo la migration se non te li aspetti. $this->execute("UPDATE orderbook SET quantityclass = '0' WHERE quantityclass IS NULL OR quantityclass = '' OR quantityclass NOT REGEXP '^[0-9]+$'"); // 3) Cambia il tipo di colonna a INT $table = $this->table('orderbook'); $table->changeColumn('quantityclass', 'integer', [ 'null' => true, 'default' => null, 'signed' => true, ])->update(); } public function down(): void { // Ripristina varchar(20). I valori numerici restano validi come stringa. $table = $this->table('orderbook'); $table->changeColumn('quantityclass', 'string', [ 'limit' => 20, 'null' => true, 'default' => null, ])->update(); } }