break; default: echo "Wrong parameters to {$argv[$i]}\n{$usage}"; exit; } } if (!$config->get('plugin', false)) { echo "You must supply --part argument\n{$usage}"; exit; } if (!$config->get('connection', false)) { $config->set('connection', $config->get('plugin', '')); } if (!$config->get('class', false)) { $config->set('class', $config->get('connection', '') . '_' . $config->get('table', '')); } $class = $config->get('class', false); $row = new $class(); $fields = array_fill_keys($row->getPrimaryKey(), 'md5'); foreach ($config->get('fields', array()) as $field => $hash) { if (isset($fields[$field])) { $fields[$field] = $hash; } } $config->set('fields', $fields); try { echo 'Shards splitting script' . PHP_EOL; Db_Utils::split($config); } catch (Exception $e) { die('[ERROR] ' . $e->getMessage() . PHP_EOL . (isset($trace) ? $e->getTraceAsString() . PHP_EOL : '')); }