private static void recreateDatabase(DbRunnerConfig dbRunnerConfig) {
    Scanner reader = new Scanner(System.in);
    System.out.println(
        "Are you sure you want to recreate the database? This will delete everything from the "
            + dbRunnerConfig.getKeyspace()
            + " keyspace. (y/n)");

    if ("y".equalsIgnoreCase(reader.nextLine())) {
      System.out.println("Enter the name of the keyspace you wish to recreate");

      String enteredKeyspace = reader.nextLine();

      if (!dbRunnerConfig.getKeyspace().equals(enteredKeyspace)) {
        System.out.println("Keyspace did not match with keyspace entered in flag");
        System.exit(0);
      }

      dbRunnerConfig.setKeyspace(enteredKeyspace);
    } else {
      System.out.println("Database will not be recreated.");
      System.exit(0);
    }
  }
  public static void main(String[] args) throws Exception {
    CommandLineParser parser = new DefaultParser();

    Options options = getOptions();

    try {
      CommandLine line = parser.parse(options, args);

      configureLogging(line.hasOption("debug"));

      DbRunnerConfig dbRunnerConfig = getDbRunnerConfig(line);

      if (dbRunnerConfig.getRecreateDatabase()) {
        recreateDatabase(dbRunnerConfig);
      }

      DbScriptsRunner dbScriptsRunner = new DbScriptsRunner(dbRunnerConfig);

      dbScriptsRunner.run();
    } catch (ParseException e) {
      System.out.println("Unexpected exception:" + e.getMessage());
      help(options);
    }
  }
  private static DbRunnerConfig getDbRunnerConfig(CommandLine line) {
    DbRunnerConfig.DbRunnerConfigBuilder dbConfigBuilder = DbRunnerConfig.builder();

    String username = line.getOptionValue("u");
    String password = line.getOptionValue("pw");

    dbConfigBuilder
        .ip(line.getOptionValue("ip"))
        .port(line.hasOption("p") ? Integer.valueOf(line.getOptionValue("p")) : DEFAULT_PORT)
        .username(username != null ? username : "")
        .password(password != null ? password : "")
        .createKeyspace(line.hasOption("createKeyspace"))
        .keyspace(line.getOptionValue("k"))
        .dbVersion(line.hasOption("v") ? Integer.valueOf(line.getOptionValue("v")) : null)
        .filePath(line.hasOption("f") ? line.getOptionValue("f") : DEFAULT_CQL_PATH)
        .recreateDatabase(line.hasOption("recreateDatabase"));

    return dbConfigBuilder.build();
  }