diff --git a/catalogue/CMakeLists.txt b/catalogue/CMakeLists.txt
index f48de0aee91c9f0c3479a2b760b565df4756b6c8..babd970cad0c0f210ac748f48323da3ae3a18211 100644
--- a/catalogue/CMakeLists.txt
+++ b/catalogue/CMakeLists.txt
@@ -146,17 +146,6 @@ target_link_libraries (cta-catalogue-schema-status
 install (TARGETS cta-catalogue-schema-status DESTINATION /usr/bin)
 install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/cta-catalogue-schema-status.1cta DESTINATION /usr/share/man/man1)
 
-add_executable(cta-catalogue-delete-all-data
-  DeleteAllCatalogueDataCmd.cpp
-  DeleteAllCatalogueDataCmdLineArgs.cpp
-  DeleteAllCatalogueDataCmdMain.cpp)
-
-target_link_libraries (cta-catalogue-delete-all-data
-  ctacatalogue)
-
-install (TARGETS cta-catalogue-delete-all-data DESTINATION /usr/bin)
-install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/cta-catalogue-delete-all-data.1cta DESTINATION /usr/share/man/man1)
-
 add_custom_command(OUTPUT oracle_catalogue_schema.cpp
   COMMAND sed 's/^/\ \ \"/' oracle_catalogue_schema.sql | sed 's/$$/\"/' > oracle_catalogue_schema.cpp
   DEPENDS oracle_catalogue_schema.sql)
@@ -247,8 +236,6 @@ set (CATALOGUE_CMD_LINE_UNIT_TESTS_LIB_SRC_FILES
   CreateAdminUserCmdLineArgsTest.cpp
   CreateSchemaCmdLineArgs.cpp
   CreateSchemaCmdLineArgsTest.cpp
-  DeleteAllCatalogueDataCmdLineArgs.cpp
-  DeleteAllCatalogueDataCmdLineArgsTest.cpp
   DropSchemaCmdLineArgs.cpp
   DropSchemaCmdLineArgsTest.cpp
   LockSchemaCmdLineArgs.cpp
diff --git a/catalogue/DeleteAllCatalogueDataCmd.cpp b/catalogue/DeleteAllCatalogueDataCmd.cpp
deleted file mode 100644
index c42c38e4afc4c463d824d13341cf517533631c73..0000000000000000000000000000000000000000
--- a/catalogue/DeleteAllCatalogueDataCmd.cpp
+++ /dev/null
@@ -1,224 +0,0 @@
-/*
- * The CERN Tape Archive (CTA) project
- * Copyright (C) 2015  CERN
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "catalogue/CatalogueFactory.hpp"
-#include "catalogue/DeleteAllCatalogueDataCmd.hpp"
-#include "catalogue/DeleteAllCatalogueDataCmdLineArgs.hpp"
-#include "common/exception/Exception.hpp"
-
-namespace cta {
-namespace catalogue {
-
-//------------------------------------------------------------------------------
-// constructor
-//------------------------------------------------------------------------------
-DeleteAllCatalogueDataCmd::DeleteAllCatalogueDataCmd(
-  std::istream &inStream,
-  std::ostream &outStream,
-  std::ostream &errStream):
-  CmdLineTool(inStream, outStream, errStream) {
-}
-
-//------------------------------------------------------------------------------
-// destructor
-//------------------------------------------------------------------------------
-DeleteAllCatalogueDataCmd::~DeleteAllCatalogueDataCmd() noexcept {
-}
-
-//------------------------------------------------------------------------------
-// exceptionThrowingMain
-//------------------------------------------------------------------------------
-int DeleteAllCatalogueDataCmd::exceptionThrowingMain(const int argc, char *const *const argv) {
-  const DeleteAllCatalogueDataCmdLineArgs cmdLineArgs(argc, argv);
-
-  if(cmdLineArgs.help) {
-    printUsage(m_out);
-    return 0;
-  }
-
-  const auto dbLogin = rdbms::Login::parseFile(cmdLineArgs.dbConfigPath);
-  const uint64_t nbDbConns = 1;
-  auto catalogue = CatalogueFactory::create(dbLogin, nbDbConns);
-
-  if(catalogue->schemaIsLocked()) {
-    m_err <<
-      "Cannot delete the data in the catalogue because the schema is locked.\n"
-      "\n"
-      "Please see the following command-line tools:\n"
-      "    cta-catalogue-schema-lock\n"
-      "    cta-catalogue-schema-status\n"
-      "    cta-catalogue-schema-unlock" << std::endl;
-    return 1;
-  }
-  deleteAllRowsExceptForCTA_CATALOGUE(*catalogue);
-
-  return 0;
-}
-
-//------------------------------------------------------------------------------
-// deleteAllRowsExceptForCTA_CATALOGUE
-//------------------------------------------------------------------------------
-void DeleteAllCatalogueDataCmd::deleteAllRowsExceptForCTA_CATALOGUE(Catalogue &catalogue) {
-  deleteAdminUsers(catalogue);
-  deleteAdminHosts(catalogue);
-  deleteArchiveRoutes(catalogue);
-  deleteRequesterMountRules(catalogue);
-  deleteRequesterGroupMountRules(catalogue);
-  deleteArchiveAndTapeFiles(catalogue);
-  deleteTapes(catalogue);
-  deleteStorageClasses(catalogue);
-  deleteTapePools(catalogue);
-  deleteLogicalLibrares(catalogue);
-  deleteMountPolicies(catalogue);
-}
-
-//------------------------------------------------------------------------------
-// deleteAdminUsers
-//------------------------------------------------------------------------------
-void DeleteAllCatalogueDataCmd::deleteAdminUsers(Catalogue &catalogue) {
-  const std::list<common::dataStructures::AdminUser> adminUsers = catalogue.getAdminUsers();
-  for(auto &adminUser: adminUsers) {
-    catalogue.deleteAdminUser(adminUser.name);
-  }
-  m_out << "Deleted " << adminUsers.size() << " admin users" << std::endl;
-}
-
-//------------------------------------------------------------------------------
-// deleteAdminHosts
-//------------------------------------------------------------------------------
-void DeleteAllCatalogueDataCmd::deleteAdminHosts(Catalogue &catalogue) {
-  const std::list<common::dataStructures::AdminHost> adminHosts = catalogue.getAdminHosts();
-  for(auto &adminHost: adminHosts) {
-    catalogue.deleteAdminHost(adminHost.name);
-  }
-  m_out << "Deleted " << adminHosts.size() << " admin hosts" << std::endl;
-}
-
-//------------------------------------------------------------------------------
-// deleteArchiveRoutes
-//------------------------------------------------------------------------------
-void DeleteAllCatalogueDataCmd::deleteArchiveRoutes(Catalogue &catalogue) {
-  const std::list<common::dataStructures::ArchiveRoute> archiveRoutes = catalogue.getArchiveRoutes();
-  for(auto &archiveRoute: archiveRoutes) {
-    catalogue.deleteArchiveRoute(archiveRoute.diskInstanceName, archiveRoute.storageClassName,
-      archiveRoute.copyNb);
-  }
-  m_out << "Deleted " << archiveRoutes.size() << " archive routes" << std::endl;
-}
-
-//------------------------------------------------------------------------------
-// delelteAllRequesterMountRules
-//------------------------------------------------------------------------------
-void DeleteAllCatalogueDataCmd::deleteRequesterMountRules(Catalogue &catalogue) {
-  const std::list<common::dataStructures::RequesterMountRule> rules = catalogue.getRequesterMountRules();
-  for(auto &rule: rules) {
-    catalogue.deleteRequesterMountRule(rule.diskInstance, rule.name);
-  }
-  m_out << "Deleted " << rules.size() << " requester mount-rules" << std::endl;
-}
-
-//------------------------------------------------------------------------------
-// deleteRequesterGroupMountRules
-//------------------------------------------------------------------------------
-void DeleteAllCatalogueDataCmd::deleteRequesterGroupMountRules(Catalogue &catalogue) {
-  const std::list<common::dataStructures::RequesterGroupMountRule> rules =
-    catalogue.getRequesterGroupMountRules();
-  for(auto &rule: rules) {
-    catalogue.deleteRequesterGroupMountRule(rule.diskInstance, rule.name);
-  }
-  m_out << "Deleted " << rules.size() << " requester-group mount-rules" << std::endl;
-}
-
-//------------------------------------------------------------------------------
-// deleteArchiveAndTapeFiles
-//------------------------------------------------------------------------------
-void DeleteAllCatalogueDataCmd::deleteArchiveAndTapeFiles(Catalogue &catalogue) {
-  std::unique_ptr<ArchiveFileItor> itor = catalogue.getArchiveFileItor();
-  uint64_t nbArchiveFiles = 0;
-  while(itor->hasMore()) {
-    const auto archiveFile = itor->next();
-    catalogue.deleteArchiveFile(archiveFile.diskInstance, archiveFile.archiveFileID);
-    nbArchiveFiles++;
-  }
-  m_out << "Deleted " << nbArchiveFiles << " archive files and their associated tape copies" << std::endl;
-}
-
-//------------------------------------------------------------------------------
-// deleteTapes
-//------------------------------------------------------------------------------
-void DeleteAllCatalogueDataCmd::deleteTapes(Catalogue &catalogue) {
-  const std::list<common::dataStructures::Tape> tapes = catalogue.getTapes();
-  for(auto &tape: tapes) {
-    catalogue.deleteTape(tape.vid);
-  }
-  m_out << "Deleted " << tapes.size() << " tapes" << std::endl;
-}
-
-//------------------------------------------------------------------------------
-// deleteStorageClasses
-//------------------------------------------------------------------------------
-void DeleteAllCatalogueDataCmd::deleteStorageClasses(Catalogue &catalogue) {
-  const std::list<common::dataStructures::StorageClass> storageClasses = catalogue.getStorageClasses();
-  for(auto &storageClass: storageClasses) {
-    catalogue.deleteStorageClass(storageClass.diskInstance, storageClass.name);
-  }
-  m_out << "Deleted " << storageClasses.size() << " storage classes" << std::endl;
-}
-
-//------------------------------------------------------------------------------
-// deleteTapePools
-//------------------------------------------------------------------------------
-void DeleteAllCatalogueDataCmd::deleteTapePools(Catalogue &catalogue) {
-  const std::list<common::dataStructures::TapePool> tapePools = catalogue.getTapePools();
-  for(auto &tapePool: tapePools) {
-    catalogue.deleteTapePool(tapePool.name);
-  }
-  m_out << "Deleted " << tapePools.size() << " tape pools" << std::endl;
-}
-
-//------------------------------------------------------------------------------
-// deleteLogicalLibraries
-//------------------------------------------------------------------------------
-void DeleteAllCatalogueDataCmd::deleteLogicalLibrares(Catalogue &catalogue) {
-  const std::list<common::dataStructures::LogicalLibrary> logicalLibraries = catalogue.getLogicalLibraries();
-  for(auto &logicalLibrary: logicalLibraries) {
-    catalogue.deleteLogicalLibrary(logicalLibrary.name);
-  }
-  m_out << "Deleted " << logicalLibraries.size() << " logical libraries" << std::endl;
-}
-
-//------------------------------------------------------------------------------
-// deleteMountPolicies
-//------------------------------------------------------------------------------
-void DeleteAllCatalogueDataCmd::deleteMountPolicies(Catalogue &catalogue) {
-  const std::list<common::dataStructures::MountPolicy> mountPolicies = catalogue.getMountPolicies();
-  for(auto &mountPolicy: mountPolicies) {
-    catalogue.deleteMountPolicy(mountPolicy.name);
-  }
-  m_out << "Deleted " << mountPolicies.size() << " mount policies" << std::endl;
-}
-
-//------------------------------------------------------------------------------
-// printUsage
-//------------------------------------------------------------------------------
-void DeleteAllCatalogueDataCmd::printUsage(std::ostream &os) {
-  DeleteAllCatalogueDataCmdLineArgs::printUsage(os);
-}
-
-} // namespace catalogue
-} // namespace cta
diff --git a/catalogue/DeleteAllCatalogueDataCmd.hpp b/catalogue/DeleteAllCatalogueDataCmd.hpp
deleted file mode 100644
index 0c4fa14f518e7a7f3b5dd442af6a35204ce76eb3..0000000000000000000000000000000000000000
--- a/catalogue/DeleteAllCatalogueDataCmd.hpp
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
- * The CERN Tape Archive (CTA) project
- * Copyright (C) 2015  CERN
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include "catalogue/Catalogue.hpp"
-#include "catalogue/CmdLineTool.hpp"
-
-namespace cta {
-namespace catalogue {
-
-/**
- * Command-line tool that deletes all the rows of all the tables in the
- * catalogue database except for the CTA_CATALOGUE table.
- */
-class DeleteAllCatalogueDataCmd: public CmdLineTool {
-public:
-
-  /**
-   * Constructor.
-   *
-   * @param inStream Standard input stream.
-   * @param outStream Standard output stream.
-   * @param errStream Standard error stream.
-   */
-  DeleteAllCatalogueDataCmd(std::istream &inStream, std::ostream &outStream, std::ostream &errStream);
-
-  /**
-   * Destructor.
-   */
-  ~DeleteAllCatalogueDataCmd() noexcept;
-
-private:
-
-  /**
-   * An exception throwing version of main().
-   *
-   * @param argc The number of command-line arguments including the program name.
-   * @param argv The command-line arguments.
-   * @return The exit value of the program.
-   */
-  int exceptionThrowingMain(const int argc, char *const *const argv) override;
-
-  /**
-   * Prints the usage message of the command-line tool.
-   *
-   * @param os The output stream to which the usage message is to be printed.
-   */
-  void printUsage(std::ostream &os) override;
-
-  /**
-   * Deletes all of the rows of all of the tables in the specified catalogue
-   * database except for the CTA_CATALOGUE table.
-   *
-   * @param catalogue The catalogue database.
-   */
-  void deleteAllRowsExceptForCTA_CATALOGUE(Catalogue &catalogue);
-
-  /**
-   * Deletes all admin users from the specified catalogue database.
-   *
-   * @param catalogue The catalogue database.
-   */
-  void deleteAdminUsers(Catalogue &catalogue);
-
-  /**
-   * Deletes all admin hosts from the specified catalogue database.
-   *
-   * @param catalogue The catalogue database.
-   */
-  void deleteAdminHosts(Catalogue &catalogue);
-
-  /**
-   * Deletes all archive routes from the specified catalogue database.
-   *
-   * @param catalogue The catalogue database.
-   */
-  void deleteArchiveRoutes(Catalogue &catalogue);
-
-  /**
-   * Deletes all requester mount-rules from the specified catalogue database.
-   *
-   * @param catalogue The catalogue database.
-   */
-  void deleteRequesterMountRules(Catalogue &catalogue);
-
-  /**
-   * Deletes all requester-group mount-rules from the specified catalogue
-   * database.
-   *
-   * @param catalogue The catalogue database.
-   */
-  void deleteRequesterGroupMountRules(Catalogue &catalogue);
-
-  /**
-   * Deletes all archive files and their associated tape files from the
-   * specified catalogue database.
-   *
-   * @param catalogue The catalogue database.
-   */
-  void deleteArchiveAndTapeFiles(Catalogue &catalogue);
-
-  /**
-   * Deletes all tapes from the specified catalogue database.
-   *
-   * @param catalogue The catalogue database.
-   */
-  void deleteTapes(Catalogue &catalogue);
-
-  /**
-   * Deletes all storage classes from the specified catalogue database.
-   *
-   * @param catalogue The catalogue database.
-   */
-  void deleteStorageClasses(Catalogue &catalogue);
-
-  /**
-   * Deletes all tape pools from the specified catalogue database.
-   *
-   * @param catalogue The catalogue database.
-   */
-  void deleteTapePools(Catalogue &catalogue);
-
-  /**
-   * Deletes all logical libraries from the specified catalogue database.
-   *
-   * @param catalogue The catalogue database.
-   */
-  void deleteLogicalLibrares(Catalogue &catalogue);
-
-  /**
-   * Deletes all mount policies from the specified catalogue database.
-   *
-   * @param catalogue The catalogue database.
-   */
-  void deleteMountPolicies(Catalogue &catalogue);
-
-}; // class DeleteAllCatalogueDataCmd
-
-} // namespace catalogue
-} // namespace cta
diff --git a/catalogue/DeleteAllCatalogueDataCmdLineArgs.cpp b/catalogue/DeleteAllCatalogueDataCmdLineArgs.cpp
deleted file mode 100644
index 84810152da1f0640bcb85f71a802fe014fe8e911..0000000000000000000000000000000000000000
--- a/catalogue/DeleteAllCatalogueDataCmdLineArgs.cpp
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * The CERN Tape Archive (CTA) project
- * Copyright (C) 2015  CERN
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "catalogue/DeleteAllCatalogueDataCmdLineArgs.hpp"
-#include "common/exception/CommandLineNotParsed.hpp"
-
-#include <getopt.h>
-#include <ostream>
-
-namespace cta {
-namespace catalogue {
-
-//------------------------------------------------------------------------------
-// constructor
-//------------------------------------------------------------------------------
-DeleteAllCatalogueDataCmdLineArgs::DeleteAllCatalogueDataCmdLineArgs(const int argc, char *const *const argv):
-  help(false) {
-
-  static struct option longopts[] = {
-    {"help", no_argument, NULL, 'h'},
-    {NULL  ,           0, NULL,   0}
-  };
-
-  // Prevent getopt() from printing an error message if it does not recognize
-  // an option character
-  opterr = 0;
-
-  int opt = 0;
-  while((opt = getopt_long(argc, argv, ":h", longopts, NULL)) != -1) {
-    switch(opt) {
-    case 'h':
-      help = true;
-      break;
-    case ':': // Missing parameter
-      {
-        exception::CommandLineNotParsed ex;
-        ex.getMessage() << "The -" << (char)opt << " option requires a parameter";
-        throw ex;
-      }
-    case '?': // Unknown option
-      {
-        exception::CommandLineNotParsed ex;
-        if(0 == optopt) {
-          ex.getMessage() << "Unknown command-line option";
-        } else {
-          ex.getMessage() << "Unknown command-line option: -" << (char)optopt;
-        }
-        throw ex;
-      }
-    default:
-      {
-        exception::CommandLineNotParsed ex;
-        ex.getMessage() <<
-          "getopt_long returned the following unknown value: 0x" <<
-          std::hex << (int)opt;
-        throw ex;
-      }
-    } // switch(opt)
-  } // while getopt_long()
-
-  // There is no need to continue parsing when the help option is set
-  if(help) {
-    return;
-  }
-
-  // Calculate the number of non-option ARGV-elements
-  const int nbArgs = argc - optind;
-
-  // Check the number of arguments
-  if(nbArgs != 1) {
-    exception::CommandLineNotParsed ex;
-    ex.getMessage() << "Wrong number of command-line arguments: excepted=1 actual=" << nbArgs;
-    throw ex;
-  }
-
-  dbConfigPath = argv[optind];
-}
-
-//------------------------------------------------------------------------------
-// printUsage
-//------------------------------------------------------------------------------
-void DeleteAllCatalogueDataCmdLineArgs::printUsage(std::ostream &os) {
-  os <<
-    "Usage:" << std::endl <<
-    "    cta-catalogue-delete-all-data databaseConnectionFile [options]" << std::endl <<
-    "Where:" << std::endl <<
-    "    databaseConnectionFile" << std::endl <<
-    "        The path to the file containing the connection details of the CTA" << std::endl <<
-    "        catalogue database" << std::endl <<
-    "Options:" << std::endl <<
-    "    -h,--help" << std::endl <<
-    "        Prints this usage message" << std::endl;
-}
-
-} // namespace catalogue
-} // namespace cta
diff --git a/catalogue/DeleteAllCatalogueDataCmdLineArgs.hpp b/catalogue/DeleteAllCatalogueDataCmdLineArgs.hpp
deleted file mode 100644
index c323967197e64d0527cf5db8089f3c9881e9370d..0000000000000000000000000000000000000000
--- a/catalogue/DeleteAllCatalogueDataCmdLineArgs.hpp
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * The CERN Tape Archive (CTA) project
- * Copyright (C) 2015  CERN
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include <string>
-
-namespace cta {
-namespace catalogue {
-
-/**
- * Structure to store the command-line arguments of the command-line tool
- * named cta-catalogue-delete-all-data.
- */
-struct DeleteAllCatalogueDataCmdLineArgs {
-  /**
-   * True if the usage message should be printed.
-   */
-  bool help;
-
-  /**
-   * Path to the file containing the connection details of the catalogue
-   * database.
-   */
-  std::string dbConfigPath;
-
-  /**
-   * Constructor that parses the specified command-line arguments.
-   *
-   * @param argc The number of command-line arguments including the name of the
-   * executable.
-   * @param argv The vector of command-line arguments.
-   */
-  DeleteAllCatalogueDataCmdLineArgs(const int argc, char *const *const argv);
-
-  /**
-   * Prints the usage message of the command-line tool.
-   *
-   * @param os The output stream to which the usage message is to be printed.
-   */
-  static void printUsage(std::ostream &os);
-};
-
-} // namespace catalogue
-} // namespace cta
diff --git a/catalogue/DeleteAllCatalogueDataCmdLineArgsTest.cpp b/catalogue/DeleteAllCatalogueDataCmdLineArgsTest.cpp
deleted file mode 100644
index 59f2c1269cf7da27c443f8d5c6523df07136125a..0000000000000000000000000000000000000000
--- a/catalogue/DeleteAllCatalogueDataCmdLineArgsTest.cpp
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * The CERN Tape Archive(CTA) project
- * Copyright(C) 2015  CERN
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- *(at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "common/exception/Exception.hpp"
-#include "catalogue/DeleteAllCatalogueDataCmdLineArgs.hpp"
-
-#include <gtest/gtest.h>
-#include <list>
-
-namespace unitTests {
-
-class cta_catalogue_DeleteAllCatalogueDataCmdLineArgsTest : public ::testing::Test {
-protected:
-
-  struct Argcv {
-    int argc;
-    char **argv;
-    Argcv(): argc(0), argv(NULL) {
-    }
-  };
-  typedef std::list<Argcv*> ArgcvList;
-  ArgcvList m_argsList;
-
-  /**
-   * Creates a duplicate string using the new operator.
-   */
-  char *dupString(const char *str) {
-    const size_t len = strlen(str);
-    char *duplicate = new char[len+1];
-    strncpy(duplicate, str, len);
-    duplicate[len] = '\0';
-    return duplicate;
-  }
-
-  virtual void SetUp() {
-    // Allow getopt_long to be called again
-    optind = 0;
-  }
-
-  virtual void TearDown() {
-    // Allow getopt_long to be called again
-    optind = 0;
-
-    for(ArgcvList::const_iterator itor = m_argsList.begin();
-      itor != m_argsList.end(); itor++) {
-      for(int i=0; i < (*itor)->argc; i++) {
-        delete[] (*itor)->argv[i];
-      }
-      delete[] (*itor)->argv;
-      delete *itor;
-    }
-  }
-};
-
-TEST_F(cta_catalogue_DeleteAllCatalogueDataCmdLineArgsTest, help_short) {
-  using namespace cta::catalogue;
-
-  Argcv *args = new Argcv();
-  m_argsList.push_back(args);
-  args->argc = 2;
-  args->argv = new char *[3];
-  args->argv[0] = dupString("cta-catalogue-delete-all-data");
-  args->argv[1] = dupString("-h");
-  args->argv[2] = NULL;
-
-  DeleteAllCatalogueDataCmdLineArgs cmdLine(args->argc, args->argv);
-
-  ASSERT_TRUE(cmdLine.help);
-  ASSERT_TRUE(cmdLine.dbConfigPath.empty());
-}
-
-TEST_F(cta_catalogue_DeleteAllCatalogueDataCmdLineArgsTest, help_long) {
-  using namespace cta::catalogue;
-
-  Argcv *args = new Argcv();
-  m_argsList.push_back(args);
-  args->argc = 2;
-  args->argv = new char *[3];
-  args->argv[0] = dupString("cta-catalogue-delete-all-data");
-  args->argv[1] = dupString("--help");
-  args->argv[2] = NULL;
-
-  DeleteAllCatalogueDataCmdLineArgs cmdLine(args->argc, args->argv);
-
-  ASSERT_TRUE(cmdLine.help);
-  ASSERT_TRUE(cmdLine.dbConfigPath.empty());
-}
-
-TEST_F(cta_catalogue_DeleteAllCatalogueDataCmdLineArgsTest, dbConfigPath) {
-  using namespace cta::catalogue;
-
-  Argcv *args = new Argcv();
-  m_argsList.push_back(args);
-  args->argc = 2;
-  args->argv = new char *[3];
-  args->argv[0] = dupString("cta-catalogue-delete-all-data");
-  args->argv[1] = dupString("dbConfigPath");
-  args->argv[2] = NULL;
-
-  DeleteAllCatalogueDataCmdLineArgs cmdLine(args->argc, args->argv);
-
-  ASSERT_FALSE(cmdLine.help);
-  ASSERT_EQ(std::string("dbConfigPath"), cmdLine.dbConfigPath);
-}
-
-} // namespace unitTests
diff --git a/catalogue/DeleteAllCatalogueDataCmdMain.cpp b/catalogue/DeleteAllCatalogueDataCmdMain.cpp
deleted file mode 100644
index f8e8c0a2521b564d81e107f6d9e0fbf3fd30159d..0000000000000000000000000000000000000000
--- a/catalogue/DeleteAllCatalogueDataCmdMain.cpp
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * The CERN Tape Archive (CTA) project
- * Copyright (C) 2015  CERN
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "catalogue/DeleteAllCatalogueDataCmd.hpp"
-
-#include <iostream>
-
-//------------------------------------------------------------------------------
-// main
-//------------------------------------------------------------------------------
-int main(const int argc, char *const *const argv) {
-  cta::catalogue::DeleteAllCatalogueDataCmd cmd(std::cin, std::cout, std::cerr);
-  return cmd.main(argc, argv);
-}
diff --git a/catalogue/cta-catalogue-delete-all-data.1cta b/catalogue/cta-catalogue-delete-all-data.1cta
deleted file mode 100644
index eea4011f8beee9bb9274fe8f651152cfbc8b6914..0000000000000000000000000000000000000000
--- a/catalogue/cta-catalogue-delete-all-data.1cta
+++ /dev/null
@@ -1,44 +0,0 @@
-.\" The CERN Tape Archive (CTA) project
-.\" Copyright (C) 2015  CERN
-.\"
-.\" This program is free software: you can redistribute it and/or modify
-.\" it under the terms of the GNU General Public License as published by
-.\" the Free Software Foundation, either version 3 of the License, or
-.\" (at your option) any later version.
-.\"
-.\" This program is distributed in the hope that it will be useful,
-.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
-.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-.\" GNU General Public License for more details.
-.\"
-.\" You should have received a copy of the GNU General Public License
-.\" along with this program.  If not, see <http://www.gnu.org/licenses/>.
-.TH CTA-CATALOGUE-DELETE-ALL-DATA 1CTA "November 2016" CTA CTA
-.SH NAME
-cta-catalogue-delete-all-data \- Delete all data in the CTA catalogue
-.SH SYNOPSIS
-.BI "cta-catalogue-delete-all-data databaseConnectionFile [options]"
-
-.SH DESCRIPTION
-\fBcta-catalogue-delete-all-data\fP is a command-line tool that deletes all the
-rows of all the tables in the catalogue database except for the CTA_CATALOGUE
-table.
-.P
-This command-line tool will abort if it sees the value LOCKED in the
-SCHEMA_STATUS column of the CTA_CATALOGUE database table.
-.SH ARGUMENTS
-.TP
-\fBdatabaseConnectionFile
-The path to the configuration file containing the connection details of the
-CTA catalogue database.
-.SH OPTIONS
-.TP
-\fB\-h, \-\-help
-Prints the usage message.
-.SH RETURN VALUE
-Zero on success and non-zero on failure.
-.SH EXAMPLES
-cta-catalogue-delete-all-data /etc/cta/cta_catalogue_db.conf
-
-.SH AUTHOR
-\fBCTA\fP Team
diff --git a/continuousintegration/docker/buildtree_runner/cc7/opt/run/bin/init.sh b/continuousintegration/docker/buildtree_runner/cc7/opt/run/bin/init.sh
index 896cc0ef67b4a1c9b25b714d0e6f1a8478476838..d78a075f44b791b28985760123996eac40e94fad 100755
--- a/continuousintegration/docker/buildtree_runner/cc7/opt/run/bin/init.sh
+++ b/continuousintegration/docker/buildtree_runner/cc7/opt/run/bin/init.sh
@@ -40,7 +40,6 @@ echo ${DATABASEURL} >/etc/cta/cta_catalogue_db.conf
 if [ "$KEEP_DATABASE" == "0" ]; then
   echo "Wiping database"
   cta-catalogue-schema-unlock /etc/cta/cta_catalogue_db.conf
-  cta-catalogue-delete-all-data /etc/cta/cta_catalogue_db.conf
   cta-catalogue-schema-status /etc/cta/cta_catalogue_db.conf
   cta-catalogue-schema-drop /etc/cta/cta_catalogue_db.conf
 
diff --git a/continuousintegration/docker/buildtree_runner/cc7/opt/run/bin/mkSymlinks.sh b/continuousintegration/docker/buildtree_runner/cc7/opt/run/bin/mkSymlinks.sh
index dec3e8e0bd902b57ec400695674420c554a2e872..09bc2186ebdafd7ae72d11f52d58b8b2bc03f6f7 100755
--- a/continuousintegration/docker/buildtree_runner/cc7/opt/run/bin/mkSymlinks.sh
+++ b/continuousintegration/docker/buildtree_runner/cc7/opt/run/bin/mkSymlinks.sh
@@ -8,7 +8,6 @@
 echo Creating symlinks for CTA binaries and symlinks.
 ln -s -v -t /usr/bin \
   ${BUILDTREE_BASE}/${BUILDTREE_SUBDIR}/catalogue/cta-catalogue-admin-host-create \
-  ${BUILDTREE_BASE}/${BUILDTREE_SUBDIR}/catalogue/cta-catalogue-delete-all-data \
   ${BUILDTREE_BASE}/${BUILDTREE_SUBDIR}/catalogue/cta-catalogue-schema-lock \
   ${BUILDTREE_BASE}/${BUILDTREE_SUBDIR}/catalogue/cta-catalogue-schema-status \
   ${BUILDTREE_BASE}/${BUILDTREE_SUBDIR}/catalogue/cta-database-poll \
diff --git a/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/init.sh b/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/init.sh
index 08c7b62f8bfc1390c19d80a0907c1fc8e8e63e2e..29f0a6af93c838ce410a509c4e1d05cecee41c3a 100755
--- a/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/init.sh
+++ b/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/init.sh
@@ -48,7 +48,6 @@ echo ${DATABASEURL} >/etc/cta/cta_catalogue_db.conf
 if [ "$KEEP_DATABASE" == "0" ]; then
   echo "Wiping database"
   cta-catalogue-schema-unlock /etc/cta/cta_catalogue_db.conf
-  cta-catalogue-delete-all-data /etc/cta/cta_catalogue_db.conf
   cta-catalogue-schema-status /etc/cta/cta_catalogue_db.conf
   cta-catalogue-schema-drop /etc/cta/cta_catalogue_db.conf
 
diff --git a/cta.spec.in b/cta.spec.in
index 434388a8a9a934a207804eae1a93c86a3dc473c0..6ed5fa76f271c4e50d2f994e2e372b0da802c659 100644
--- a/cta.spec.in
+++ b/cta.spec.in
@@ -246,7 +246,6 @@ Scripts and utilities to faciliate working with the CTA catalogue
 %files -n cta-catalogueutils
 %attr(0755,root,root) %{_bindir}/cta-catalogue-admin-user-create
 %attr(0755,root,root) %{_bindir}/cta-catalogue-admin-host-create
-%attr(0755,root,root) %{_bindir}/cta-catalogue-delete-all-data
 %attr(0755,root,root) %{_bindir}/cta-catalogue-schema-create
 %attr(0755,root,root) %{_bindir}/cta-catalogue-schema-drop
 %attr(0755,root,root) %{_bindir}/cta-catalogue-schema-lock
@@ -255,7 +254,6 @@ Scripts and utilities to faciliate working with the CTA catalogue
 %attr(0755,root,root) %{_bindir}/cta-database-poll
 %attr(0644,root,bin) %doc /usr/share/man/man1/cta-catalogue-admin-host-create.1cta.gz
 %attr(0644,root,bin) %doc /usr/share/man/man1/cta-catalogue-admin-user-create.1cta.gz
-%attr(0644,root,bin) %doc /usr/share/man/man1/cta-catalogue-delete-all-data.1cta.gz
 %attr(0644,root,bin) %doc /usr/share/man/man1/cta-catalogue-schema-create.1cta.gz
 %attr(0644,root,bin) %doc /usr/share/man/man1/cta-catalogue-schema-drop.1cta.gz
 %attr(0644,root,bin) %doc /usr/share/man/man1/cta-catalogue-schema-lock.1cta.gz