}; $update = $failure = []; foreach ($get_dao_dump_func($file) as $arr) { $ref = new \ReflectionClass($arr['model']); $inst = $ref->newInstance(); if (!array_key_exists($ref->getName(), $failure)) { try { foreach ($inst->props() as $k => $v) { if (array_key_exists($k, $arr['data'])) { if ($inst->prop_anon($k, 'cond') == null && $inst->prop_anon($k, 'extra', false) === false) { $inst->prop_anon($k, 'auto_now', false, true); call_user_func_array([$inst, $k], [$arr['data'][$k]]); } } } $inst->save(); if (!array_key_exists($ref->getName(), $update)) { $update[$ref->getName()] = 0; } $update[$ref->getName()]++; } catch (\ebi\exception\BadMethodCallException $e) { $failure[$ref->getName()] = true; } } } foreach ($update as $class_name => $cnt) { \cmdman\Std::println_info(' Import ' . $class_name . ' (' . $cnt . ')'); } foreach (array_keys($failure) as $class_name) { \cmdman\Std::println_danger(' Failure ' . $class_name); }
$failure['db']++; \cmdman\Std::println_danger(' ' . $class_name . ' Failure, ' . $e->getMessage()); } catch (\Exception $e) { $failure['db']++; \cmdman\Std::println_warning(' ' . $class_name . ' Failure, ' . $e->getMessage()); } } \cmdman\Std::println(); \cmdman\Std::println_info('Entry:'); foreach (\ebi\Util::ls(getcwd()) as $f) { $src = file_get_contents($f->getPathname()); if (strpos($src, '\\ebi\\Flow::app(') !== false) { $map = \ebi\Flow::get_map($f->getPathname()); $entry = str_replace(getcwd(), '', $f->getPathname()); foreach ($map['patterns'] as $p) { if (array_key_exists('action', $p) && is_string($p['action'])) { try { list($c, $m) = explode('::', $p['action']); $mr = new \ReflectionMethod(\ebi\Util::get_class_name($c), $m); \cmdman\Std::println_success($entry . ' ' . $p['name'] . ' OK'); } catch (\ReflectionException $e) { $failure['entry']++; \cmdman\Std::println_danger($entry . ' ' . $p['name'] . ' Failure'); } } } } } \cmdman\Std::println(); \cmdman\Std::println_danger('Failure: ' . (!empty($failure['db']) ? 'Database(' . $failure['db'] . ') ' : '') . (!empty($failure['entry']) ? 'Entry(' . $failure['entry'] . ') ' : ''));