release; } /** * {@inheritdoc} */ public function require_all_upgrades() { return false; } /** * {@inheritdoc} */ public function concern() { return $this->concern; } /** * {@inheritdoc} */ public function apply(base $appbox, Application $app) { $sql = 'DELETE FROM UserSettings'; $stmt = $app['phraseanet.appbox']->get_connection()->prepare($sql); $stmt->execute(); $stmt->closeCursor(); $conn = $app['phraseanet.appbox']->get_connection(); $sql = 'SELECT * FROM usr_settings'; $stmt = $conn->prepare($sql); $stmt->execute(); $rs = $stmt->fetchAll(\PDO::FETCH_ASSOC); $stmt->closeCursor(); $n = 0; $em = $app['EM']; foreach ($rs as $row) { if (substr($row['prop'], 0, 13) === "notification_") { continue; } $userSetting = new UserSetting(); $userSetting->setName($row['prop']); $userSetting->setValue($row['value']); $userSetting->setUsrId($row['usr_id']); $em->persist($userSetting); $n++; if ($n % 1000 === 0) { $em->flush(); $em->clear(); } } $em->flush(); $em->clear(); } }