diff --git a/ldv_migrate/ldv_migrate/connection/config.py b/ldv_migrate/ldv_migrate/connection/config.py
index aa517437534e4cd3898ae6d983079dc152e11e00..36fac48e7dd550efd41d9a5a8a357c45d4af1b0d 100644
--- a/ldv_migrate/ldv_migrate/connection/config.py
+++ b/ldv_migrate/ldv_migrate/connection/config.py
@@ -2,8 +2,8 @@ from configparser import ConfigParser
 import os
 
 
-def read_config(section, filename='database.cfg'):
-    full_filename = os.path.join(os.path.dirname(__file__), filename)
+def read_config(configuration_file, section):
+    full_filename = os.path.join(os.path.dirname(__file__), configuration_file)
     parser = ConfigParser()
     read_result = parser.read(full_filename)
     # If file not found then parser returns just an empty list it does not raise an Exception!
diff --git a/ldv_migrate/ldv_migrate/connection/retrieve_db_connection.py b/ldv_migrate/ldv_migrate/connection/retrieve_db_connection.py
index 21f56843eb061e7e21b3c427640d6216281d0aed..52f1184a10c23fb8df52522a198605e8c8d17251 100644
--- a/ldv_migrate/ldv_migrate/connection/retrieve_db_connection.py
+++ b/ldv_migrate/ldv_migrate/connection/retrieve_db_connection.py
@@ -8,13 +8,13 @@ import os
 
 from ldv_migrate.connection.config import read_config
 
-def connect_postgresql(section):
+def connect_postgresql(configuration_file, section):
     """ Connect to the PostgreSQL database server """
     conn = None
     tunnel = None
     try:
         # read connection parameters
-        configuration = read_config(section=section)
+        configuration = read_config(configuration_file=configuration_file, section=section)
 
         logging.info('Connecting PostgreSQL database %s', configuration.get('database', 'no database name given'))
 
diff --git a/ldv_migrate/ldv_migrate/migrate_ldvadmin_to_ldvspec.py b/ldv_migrate/ldv_migrate/migrate_ldvadmin_to_ldvspec.py
index e6bee1bb0c7e01a1b81b0b0b01611803ef05c626..deb12a9b3454663cb0497706bd1ab0592efb1b08 100644
--- a/ldv_migrate/ldv_migrate/migrate_ldvadmin_to_ldvspec.py
+++ b/ldv_migrate/ldv_migrate/migrate_ldvadmin_to_ldvspec.py
@@ -73,7 +73,9 @@ def main():
     parser.add_argument("-t", "--token", default="ad9b37a24380948601257f9c1f889b07a00ac81e",
                         help="Token to access the REST API of ldvspec", action="store")
     parser.add_argument("--host", nargs="?", default='dev',
-                        help="The ldv-spec-db host. Presets are 'dev', 'test', 'prod', otherwise give a full url like https://atdb.astron.nl/atdb")
+                        help="The ldv-spec-db host.")
+    parser.add_argument("--configuration", default='~/shared/ldv_migrate.cfg',
+                        help="Configuration file containing tunnel and ldvadmin database credentials")
     parser.add_argument("-s", "--section", default='postgresql-ldv',
                         help="Add the configuration's section from the database.cfg.")
     # Have payload of more millions will most likely not work
@@ -113,7 +115,7 @@ def main():
             .format(limit_str)
 
     # Create connection using ssh tunnel with the ldvadmin database
-    conn, tunnel = connector.connect_postgresql(args.section)
+    conn, tunnel = connector.connect_postgresql(args.configuration, args.section)
     count_raw_dps = execute_query(conn, query_count_all_raw_dataproducts)[0][0]
     count_pl_dps = execute_query(conn, query_count_all_pipeline_dataproducts)[0][0]
     logging.info(f"There are {count_raw_dps} raw dataproducts and {count_pl_dps} pipeline dataproduct in the ldvadmin.astrowise table!!")