<?php 
 
namespace JLaso\SimpleStats\Command; 
 
use JLaso\SimpleStats\Stats; 
use Symfony\Component\Console\Command\Command; 
use Symfony\Component\Console\Input\InputArgument; 
use Symfony\Component\Console\Input\InputInterface; 
use Symfony\Component\Console\Input\InputOption; 
use Symfony\Component\Console\Output\OutputInterface; 
 
class SeedCommand extends Command 
{ 
    const RECORDS = 1000; 
 
    protected function configure() 
    { 
        $this 
            ->setName('database:create-and-seed') 
            ->setDescription('Create database and seed with date') 
        ; 
    } 
 
    protected function execute(InputInterface $input, OutputInterface $output) 
    { 
        $start = microtime(true); 
        $stats = Stats::getInstance(); 
 
        $output->writeln('ConfigFile '.$stats->getConfigFile()); 
        $output->writeln('Database '.$stats->getDataBaseFile()); 
        $output->writeln('Config '.print_r($stats->getConfig(),true)); 
        $output->writeln('ProjectDir '.$stats->getProjectDir()); 
 
        foreach($stats->getModels() as $model){ 
            for($i=0; $i<self::RECORDS; $i++) { 
                $data = array( 
                    'data' => '#' .intval((microtime(true)-$start)*1E10), 
                    'count' => rand(1, 10), 
                    'date' => intval(date('U')) + 86400 * rand(-5, 5), 
                ); 
                $stats->getConn()->exec($model->getInsert($data)); 
            } 
        } 
        $output->writeln('Done!'); 
    } 
} 
 
 |