db = $db; } /** * @inheritDoc */ public function getName() : string { return "Migrate timestamp values to integer to store unix epoch"; } /** * @inheritDoc */ public function run(IOutput $output) { $queryTimestamps = 'SELECT id, timestamp FROM `*PREFIX*gpodder_episode_action` WHERE timestamp_epoch = 0'; $timestamps = $this->db->executeQuery($queryTimestamps)->fetchAll(); $result = 0; foreach ($timestamps as $timestamp) { $timestampEpoch = (new DateTime($timestamp["timestamp"]))->format("U"); $sql = 'UPDATE `*PREFIX*gpodder_episode_action` ' . 'SET `timestamp_epoch` = ' . $timestampEpoch . ' ' . 'WHERE `id` = ' . $timestamp["id"]; $result += $this->db->executeUpdate($sql); } return $result; } }