Example #1
0
 /**
  * Create yaml files from database data.
  *
  * Usage (from command line):
  *
  * php oil r dbfixt:generate [-n=5] [-o=/tmp] <table1> [<table2> [...]]
  *
  * @return string
  */
 public static function generate()
 {
     $num = Cli::option('n') ? (int) Cli::option('n') : 5;
     $dir = Cli::option('o');
     if (is_null($dir)) {
         $dir = APPPATH . 'tests/fixture';
         if (!is_dir($dir)) {
             mkdir($dir);
         }
     } else {
         if (!is_dir($dir)) {
             return Cli::color('No such directory: ' . $dir, 'red');
         }
     }
     $args = func_get_args();
     foreach ($args as $table) {
         if (DBUtil::table_exists($table)) {
             $result = DB::select('*')->from($table)->limit($num)->execute();
             $data = $result->as_array();
             static::setToYaml($dir, $data, $table);
         } elseif (Mongo_Db::instance()->get_collection($table)) {
             $mongo = Mongo_Db::instance();
             $data = $mongo->limit($num)->get($table);
             static::setToYaml($dir, $data, $table);
         } else {
             echo Cli::color('No such table: ' . $table, 'red') . PHP_EOL;
         }
     }
 }
Example #2
0
 public static function nice()
 {
     if (Fuel::$env === Fuel::PRODUCTION) {
         return Cli::color('ENV = PRODUCTION can not use nice.', 'red');
     }
     \Model_Migrate_MigrateRun::all_down();
     \Model_Migrate_MigrateRun::all_up();
     \Model_Migrate_MigrateRun::all_nice();
     return Cli::color(self::$msg . 'nice - Table create & insert test data', 'green');
 }