# Note: For now, only PRO commands have command specific help. so only "rollbackonechangset" and "rollbackoneupdate".
## Context
We should make it easier to learn liquibase, in part by making it easier to read the help. while only PRO commands will be affected, this should be coded so that we can add command specific help (as part of the upcoming Usability Epic) and it should function without further coding work.

## Requirements
As a user, i want to open a terminal/command line, fire up liquibase and hit the command's help, without having to fire up a database as well.

When learning liquibase i often check the <command> --help, but this will not work without a specified url which actually connects to a database. for example, rollbackonechangeset --help will tell you.

```
mmc-mbp:opt mariochampion$ liquibase rollbackonechangeset --help
Liquibase Community 3.8.6 by Datical
Errors:
  The option --url is required.
  The option --changeLogFile is required.
```

## Acceptance Criteria
This ticket will be successfully resolved when: 

1. A user with or without a PRO license should be able to see command --help, without required command options.
1. A user typing "liquibase rollbackonechangeset --help" will see the help for that command in their console
1. A user typing "liquibase rollbackoneupdate --help" will see the help for that command in their console


try {
                        if (!file.delete()) {
                            
                        }
                    } catch (SecurityException e) {
                        throw new LiquibaseException(
                                String.format(coreBundle.getString("attempt.to.delete.the.file.failed.cannot.continue"),
                                        currentChangeLogFile
                                ), e
                        );
                    }
                }
                CatalogAndSchema[] finalTargetSchemas = computedSchemas.finalTargetSchemas;
                CommandLineUtils.doGenerateChangeLog(currentChangeLogFile, database, finalTargetSchemas,
                        StringUtils.trimToNull(diffTypes), StringUtils.trimToNull(changeSetAuthor),
                        StringUtils.trimToNull(changeSetContext), StringUtils.trimToNull(dataOutputDirectory),
                        diffOutputControl);
                return;
            } else if (COMMANDS.SNAPSHOT.equalsIgnoreCase(command)) {
                SnapshotCommand snapshotCommand = (SnapshotCommand) CommandFactory.getInstance()
                        .getCommand(COMMANDS.SNAPSHOT);
                snapshotCommand.setDatabase(database);
                snapshotCommand.setSchemas(getSchemaParams(database));
                snapshotCommand.setSerializerFormat(getCommandParam(OPTIONS.SNAPSHOT_FORMAT, null));
                Writer outputWriter = getOutputWriter();
                String result = snapshotCommand.execute().print();
                outputWriter.write(result);
                outputWriter.flush();
                outputWriter.close();
                return;