protected function execute(InputInterface $input, OutputInterface $output) { $schema = 'Schema\\' . $input->getArgument('schema'); $class = 'ORM\\' . $input->getArgument('class'); $force = $input->getOption('force'); $output->writeln(HTML::Tag('info', sprintf('Генерирую класс модели %s по схеме %s...', $class, $schema))); //Определяем неймспейс $ns = false; $path = DIR_APP; $a = explode('\\', trim(str_replace('/', '\\', $class), '\\')); $classname = array_pop($a); if (count($a)) { $ns = join('\\', $a); $path .= DIRECTORY_SEPARATOR . join(DIRECTORY_SEPARATOR, $a); } if (!class_exists($schema)) { $output->writeln(HTML::Tag('error', sprintf('Схема %s не существует!', $schema))); return; } /** @var $s \CMSx\DB\Schema */ $s = new $schema(X::DB()); $code = $s->buildModel($classname, $ns); if (!is_dir($path)) { mkdir($path, 0750, true); } $file = $path . DIRECTORY_SEPARATOR . $classname . '.php'; if (!is_file($file) || $force) { file_put_contents($file, $code); $output->writeln(HTML::Tag('info', sprintf('Файл модели %s создан: %s', $classname, $file))); } else { $output->writeln(HTML::Tag('error', sprintf('Файл модели %s уже существует! Используйте опцию -f для перезаписи', $file))); } }
protected function execute(InputInterface $input, OutputInterface $output) { $schema = 'Schema\\' . $input->getArgument('schema'); $output->writeln(HTML::Tag('info', 'Сбрасываем таблицу схемы ' . $schema)); if (!class_exists($schema)) { $output->writeln(HTML::Tag('error', sprintf('Схема %s не существует!', $schema))); return; } /** @var $s \CMSx\DB\Schema */ $s = new $schema(X::DB()); X::DB()->drop($s->getTable())->execute(); $output->writeln(HTML::Tag('info', 'Таблица ' . $s->getTable() . ' сброшена')); }
protected function execute(InputInterface $input, OutputInterface $output) { $schema = 'Schema\\' . $input->getArgument('schema'); $output->writeln(HTML::Tag('info', 'Обновляем структуру таблицы по схеме ' . $schema)); if (!class_exists($schema)) { $output->writeln(HTML::Tag('error', sprintf('Схема %s не существует!', $schema))); return; } /** @var $s \CMSx\DB\Schema */ $s = new $schema(X::DB()); $s->updateTable(); $output->writeln(HTML::Tag('info', sprintf('Таблица %s%s обновлена', X::DB()->getPrefix(), $s->getTable()))); }
protected function execute(InputInterface $input, OutputInterface $output) { $schema = 'Schema\\' . $input->getArgument('schema'); $output->writeln(HTML::Tag('info', 'Загружаем данные по схеме ' . $schema)); if (!class_exists($schema)) { $output->writeln(HTML::Tag('error', sprintf('Схема %s не существует!', $schema))); return; } /** @var $s \CMSx\DB\Schema */ $s = new $schema(X::DB()); $s->fillTable(); $output->writeln(HTML::Tag('info', 'Данные загружены')); }
protected function execute(InputInterface $input, OutputInterface $output) { $schema = 'Schema\\' . $input->getArgument('schema'); $drop = (bool) $input->getOption('drop'); $skip = $input->getOption('skip-content'); $output->writeln(HTML::Tag('info', 'Создаем таблицу по схеме ' . $schema)); if (!class_exists($schema)) { $output->writeln(HTML::Tag('error', sprintf('Схема %s не существует!', $schema))); return; } /** @var $s \CMSx\DB\Schema */ $s = new $schema(X::DB()); $s->createTable($drop); $output->writeln(HTML::Tag('info', sprintf('Таблица %s%s создана', X::DB()->getPrefix(), $s->getTable()))); if (!$skip) { $s->fillTable(); $output->writeln(HTML::Tag('info', 'Начальные данные загружены')); } }