Skip to content

Error running qiita-env drop per instructions from qiita-env make #3314

Closed
@AmandaBirmingham

Description

@AmandaBirmingham

After hitting an error part way through running qiita-env make --no-load-ontologies on a clean qiita install (because the redis-server call hadn't been made), I got the (expected) error telling me that my qiita db already existed:

QiitaEnvironmentError: Database qiita_test already present on the system. You can drop it by running 'qiita-env drop'

I went ahead and ran qiita-env drop, but this produced its own set of errors:

(qiita)  qiita % qiita-env drop
Traceback (most recent call last):
  File "/Applications/miniconda3/envs/qiita/lib/python3.9/site-packages/qiita_db/sql_connection.py", line 256, in _execute
    cur.execute(sql, sql_args)
  File "/Applications/miniconda3/envs/qiita/lib/python3.9/site-packages/psycopg2/extras.py", line 146, in execute
    return super().execute(query, vars)
psycopg2.errors.UndefinedTable: relation "settings" does not exist
LINE 1: SELECT test FROM settings
                         ^


During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Applications/miniconda3/envs/qiita/lib/python3.9/site-packages/qiita_db/sql_connection.py", line 199, in _raise_execution_error
    raise ValueError(
ValueError: Error running SQL: UNDEFINED_TABLE. MSG: relation "settings" does not exist
LINE 1: SELECT test FROM settings
                         ^



During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Applications/miniconda3/envs/qiita/bin/qiita-env", line 113, in <module>
    env()
  File "/Applications/miniconda3/envs/qiita/lib/python3.9/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "/Applications/miniconda3/envs/qiita/lib/python3.9/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "/Applications/miniconda3/envs/qiita/lib/python3.9/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Applications/miniconda3/envs/qiita/lib/python3.9/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Applications/miniconda3/envs/qiita/lib/python3.9/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "/Applications/miniconda3/envs/qiita/bin/qiita-env", line 49, in drop
    qdb.environment_manager.drop_environment(ask_for_confirmation)
  File "/Applications/miniconda3/envs/qiita/lib/python3.9/site-packages/qiita_db/environment_manager.py", line 277, in drop_environment
    is_test_environment = qdb.sql_connection.TRN.execute_fetchflatten()[0]
  File "/Applications/miniconda3/envs/qiita/lib/python3.9/site-packages/qiita_db/sql_connection.py", line 49, in wrapper
    return func(self, *args, **kwargs)
  File "/Applications/miniconda3/envs/qiita/lib/python3.9/site-packages/qiita_db/sql_connection.py", line 389, in execute_fetchflatten
    return list(chain.from_iterable(self.execute()[idx]))
  File "/Applications/miniconda3/envs/qiita/lib/python3.9/site-packages/qiita_db/sql_connection.py", line 49, in wrapper
    return func(self, *args, **kwargs)
  File "/Applications/miniconda3/envs/qiita/lib/python3.9/site-packages/qiita_db/sql_connection.py", line 313, in execute
    return self._execute()
  File "/Applications/miniconda3/envs/qiita/lib/python3.9/site-packages/qiita_db/sql_connection.py", line 260, in _execute
    self._raise_execution_error(sql, sql_args, e)
  File "/Applications/miniconda3/envs/qiita/lib/python3.9/site-packages/qiita_db/sql_connection.py", line 205, in _raise_execution_error
    raise ValueError("Error running SQL query: %s" % str(error))
ValueError: Error running SQL query: Error running SQL: UNDEFINED_TABLE. MSG: relation "settings" does not exist
LINE 1: SELECT test FROM settings
                         ^

I went into pgAdmin and dropped the qiita_test db, as I have done in the past, and then was able to (re)run qiita-env make --no-load-ontologies without a problem (other than issue 3313 , which is non-fatal). Nonetheless, if the software tells the user to run qiita-env drop to fix an error, it would be preferable if doing that worked :)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions