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(); foreach ($timestamps as $timestamp) { $timestampEpoch = (new DateTime($timestamp["timestamp"]))->format("U"); $sql = 'UPDATE `*PREFIX*gpodder_episode_action` ' . 'SET `timestamp_epoch` = ' . $timestampEpoch . ' ' . 'WHERE `timestamp_epoch` = 0'; $result = $this->db->executeUpdate($sql); } return $result; } }