code: public function create(Request $req)
      {
          if (count($req->getArgs()) != 2) {
              echo 'Wrong arguments.' . PHP_EOL . 'Usage : db/migration/create mapping_name migration_name' . PHP_EOL;
          } else {
              $mappingName = $req->getArgs()[0];
              $mapping = Mapping::get($mappingName);
              $name = ucfirst($req->getArgs()[1]);
              if ($this->write($mapping, $mappingName, $name) === true) {
                  $path = rtrim($mapping['config']['migrations']['path'], DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR;
                  $path .= $name . DIRECTORY_SEPARATOR . 'schema.yml';
                  if (file_exists($mapping['config']['schema']) === false) {
                      throw new FileNotReadable('can\'t find "' . $mapping['schema'] . '"');
                  }
                  if (copy($mapping['config']['schema'], $path) === false) {
                      throw new FileNotWritable('can\'t copy "' . $mapping['schema'] . '" to "' . $path . '"');
                  }
                  $migrations = [];
                  $path = rtrim($mapping['config']['migrations']['path'], DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . 'migrations.yml';
                  if (file_exists($path) === true) {
                      $migrations = Config::get($path);
                  }
                  $migrations[] = [
                      'name' => $name,
                      'timestamp' => time(),
                  ];
                  Config::set($path, $migrations);
                  echo 'Migration "' . $name . '" created.' . PHP_EOL;
              }
          }
      }
docs: Create a new migration.
  
  @param Request $req current CLI request
  @throws FileNotReadable if can't find schema file
  @throws FileNotWritable if can't copy schema file