connection->prepare( 'SELECT id, fixed_rate, hourly_rate FROM ' . $tableName . ' WHERE fixed_rate IS NOT NULL OR hourly_rate IS NOT NULL' ); $result = $rules->executeQuery(); foreach ($result->fetchAllAssociative() as $rateRule) { $isFixed = $rateRule['fixed_rate'] !== null; $rate = $rateRule['fixed_rate'] ?? $rateRule['hourly_rate']; $params = ['user_id' => null, $fieldName => $rateRule['id'], 'rate' => $rate, 'fixed' => $isFixed]; $this->connection->insert($targetTable, $params, ['fixed' => ParameterType::BOOLEAN]); } } $schema->getTable('kimai2_customers')->dropColumn('fixed_rate')->dropColumn('hourly_rate'); $schema->getTable('kimai2_projects')->dropColumn('fixed_rate')->dropColumn('hourly_rate'); $schema->getTable('kimai2_activities')->dropColumn('fixed_rate')->dropColumn('hourly_rate'); } public function down(Schema $schema): void { $this->addSql('ALTER TABLE kimai2_customers ADD COLUMN fixed_rate NUMERIC(10, 2) DEFAULT NULL'); $this->addSql('ALTER TABLE kimai2_customers ADD COLUMN hourly_rate NUMERIC(10, 2) DEFAULT NULL'); $this->addSql('ALTER TABLE kimai2_projects ADD COLUMN fixed_rate NUMERIC(10, 2) DEFAULT NULL'); $this->addSql('ALTER TABLE kimai2_projects ADD COLUMN hourly_rate NUMERIC(10, 2) DEFAULT NULL'); $this->addSql('ALTER TABLE kimai2_activities ADD COLUMN fixed_rate NUMERIC(10, 2) DEFAULT NULL'); $this->addSql('ALTER TABLE kimai2_activities ADD COLUMN hourly_rate NUMERIC(10, 2) DEFAULT NULL'); } }