release; } /** * {@inheritdoc} */ public function require_all_upgrades() { return true; } /** * {@inheritdoc} */ public function concern() { return $this->concern; } /** * {@inheritdoc} */ public function getDoctrineMigrations() { return ['20131118000005']; } /** * {@inheritdoc} */ public function apply(base $appbox, Application $app) { $conn = $app->getApplicationBox()->get_connection(); $sql = 'SELECT date, login, ip, locked FROM badlog ORDER BY id ASC'; $stmt = $conn->prepare($sql); $stmt->execute(); $rs = $stmt->fetchAll(\PDO::FETCH_ASSOC); $stmt->closeCursor(); $n = 1; foreach ($rs as $row) { $date = Datetime::createFromFormat('Y-m-d h:i:s', $row['date']); $failure = new AuthFailure(); if ($date) { $failure->setCreated($date); } $failure->setIp($row['ip']); $failure->setLocked(!!$row['locked']); $failure->setUsername($row['login']); $app['orm.em']->persist($failure); if (0 === $n++ % 1000) { $app['orm.em']->flush(); $app['orm.em']->clear(); } } $app['orm.em']->flush(); $app['orm.em']->clear(); return true; } }