-- Energie-Bonus in Sofort-Bonus + Neukunden-Bonus aufteilen. -- Bestehende Werte werden nach `instantBonus` migriert (Annahme: bei -- Bestandsverträgen war "Bonus" üblicherweise der Sofort-Bonus). -- Wer das anders hatte, kann die Werte über die UI nachträglich verschieben. -- -- IF NOT EXISTS macht den Re-Deploy auf Prod sicher, falls jemand schon -- `prisma db push` gefahren hat. ALTER TABLE `EnergyContractDetails` ADD COLUMN IF NOT EXISTS `instantBonus` DOUBLE NULL, ADD COLUMN IF NOT EXISTS `newCustomerBonus` DOUBLE NULL; -- Daten kopieren, sofern die alte Spalte noch existiert und das Ziel leer ist SET @col_exists := ( SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'EnergyContractDetails' AND COLUMN_NAME = 'bonus' ); SET @sql := IF( @col_exists > 0, 'UPDATE `EnergyContractDetails` SET `instantBonus` = `bonus` WHERE `bonus` IS NOT NULL AND `instantBonus` IS NULL', 'SELECT "bonus-Spalte existiert nicht mehr, nichts zu migrieren"' ); PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt; -- Alte Spalte droppen, falls vorhanden ALTER TABLE `EnergyContractDetails` DROP COLUMN IF EXISTS `bonus`;