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; } }