[SOLVED] Manual upgrade to 4.5.(0|1) --> django.db.utils.OperationalError: unable to open database file

Still using the old style of upgrade from 4.4.7 to 4.5.0 or 4.5.1 via pip etc.
(Yes yes I know not supported)

All worked fine from my last upgrade from 4.4.2 to 4.4.7 btw.

sudo -u $MAYAN_SYSTEM_USER mayan-edms.py common_preform_upgrade

… failed with …

DatabaseWarning: Your database backend is set to use SQLite. SQLite should only be used for development and testing, not for production.

django.db.utils.OperationalError: unable to open database file.

Did something change in the var structure here?

The following var are set and correct:

export MAYAN_DATABASES=$MAYAN_DATABASES
export MAYAN_MEDIA_ROOT=$MAYAN_MEDIA_ROOT
export MAYAN_CELERY_BROKER_URL=$MAYAN_CELERY_BROKER_URL
export MAYAN_CELERY_RESULT_BACKEND=$MAYAN_CELERY_RESULT_BACKEND
export MAYAN_LOCK_MANAGER_BACKEND=$MAYAN_LOCK_MANAGER_BACKEND
export MAYAN_LOCK_MANAGER_BACKEND_ARGUMENTS=$MAYAN_LOCK_MANAGER_BACKEND_ARGUMENTS

The log file of the error:

| Create standard configfile
/data/mayan/44/311/lib/python3.11/site-packages/mayan/apps/databases/apps.py:22: DatabaseWarning: Your database backend is set to use SQLite. SQLite should only be used for development and testing, not for production.
  warnings.warn(
| Compare and fix with the new config files.
| Preforming upgrade: migrate existing database and update media files/settings
/data/mayan/44/311/lib/python3.11/site-packages/mayan/apps/databases/apps.py:22: DatabaseWarning: Your database backend is set to use SQLite. SQLite should only be used for development and testing, not for production.
  warnings.warn(
Traceback (most recent call last):
  File "/data/mayan/44/311/lib/python3.11/site-packages/django/db/backends/base/base.py", line 219, in ensure_connection
    self.connect()
  File "/data/mayan/44/311/lib/python3.11/site-packages/django/utils/asyncio.py", line 33, in inner
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/data/mayan/44/311/lib/python3.11/site-packages/django/db/backends/base/base.py", line 200, in connect
    self.connection = self.get_new_connection(conn_params)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/mayan/44/311/lib/python3.11/site-packages/django/utils/asyncio.py", line 33, in inner
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/data/mayan/44/311/lib/python3.11/site-packages/django/db/backends/sqlite3/base.py", line 209, in get_new_connection
    conn = Database.connect(**conn_params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
sqlite3.OperationalError: unable to open database file

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/data/mayan/44/311/lib/python3.11/site-packages/mayan/apps/common/management/base.py", line 104, in do_perform_upgrade
    signal_pre_upgrade.send(sender=self)
  File "/data/mayan/44/311/lib/python3.11/site-packages/django/dispatch/dispatcher.py", line 180, in send
    return [
           ^
  File "/data/mayan/44/311/lib/python3.11/site-packages/django/dispatch/dispatcher.py", line 181, in <listcomp>
    (receiver, receiver(signal=self, sender=sender, **named))
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/mayan/44/311/lib/python3.11/site-packages/mayan/apps/common/handlers.py", line 13, in handler_pre_upgrade
    management.call_command(
  File "/data/mayan/44/311/lib/python3.11/site-packages/django/core/management/__init__.py", line 181, in call_command
    return command.execute(*args, **defaults)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/mayan/44/311/lib/python3.11/site-packages/django/core/management/base.py", line 398, in execute
    output = self.handle(*args, **options)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/mayan/44/311/lib/python3.11/site-packages/django/core/management/base.py", line 89, in wrapped
    res = handle_func(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/mayan/44/311/lib/python3.11/site-packages/django/core/management/commands/migrate.py", line 92, in handle
    executor = MigrationExecutor(connection, self.migration_progress_callback)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/mayan/44/311/lib/python3.11/site-packages/django/db/migrations/executor.py", line 18, in __init__
    self.loader = MigrationLoader(self.connection)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/mayan/44/311/lib/python3.11/site-packages/django/db/migrations/loader.py", line 53, in __init__
    self.build_graph()
  File "/data/mayan/44/311/lib/python3.11/site-packages/django/db/migrations/loader.py", line 220, in build_graph
    self.applied_migrations = recorder.applied_migrations()
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/mayan/44/311/lib/python3.11/site-packages/django/db/migrations/recorder.py", line 77, in applied_migrations
    if self.has_table():
       ^^^^^^^^^^^^^^^^
  File "/data/mayan/44/311/lib/python3.11/site-packages/django/db/migrations/recorder.py", line 55, in has_table
    with self.connection.cursor() as cursor:
         ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/mayan/44/311/lib/python3.11/site-packages/django/utils/asyncio.py", line 33, in inner
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/data/mayan/44/311/lib/python3.11/site-packages/django/db/backends/base/base.py", line 259, in cursor
    return self._cursor()
           ^^^^^^^^^^^^^^
  File "/data/mayan/44/311/lib/python3.11/site-packages/django/db/backends/base/base.py", line 235, in _cursor
    self.ensure_connection()
  File "/data/mayan/44/311/lib/python3.11/site-packages/django/utils/asyncio.py", line 33, in inner
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/data/mayan/44/311/lib/python3.11/site-packages/django/db/backends/base/base.py", line 218, in ensure_connection
    with self.wrap_database_errors:
  File "/data/mayan/44/311/lib/python3.11/site-packages/django/db/utils.py", line 90, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File "/data/mayan/44/311/lib/python3.11/site-packages/django/db/backends/base/base.py", line 219, in ensure_connection
    self.connect()
  File "/data/mayan/44/311/lib/python3.11/site-packages/django/utils/asyncio.py", line 33, in inner
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/data/mayan/44/311/lib/python3.11/site-packages/django/db/backends/base/base.py", line 200, in connect
    self.connection = self.get_new_connection(conn_params)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/mayan/44/311/lib/python3.11/site-packages/django/utils/asyncio.py", line 33, in inner
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/data/mayan/44/311/lib/python3.11/site-packages/django/db/backends/sqlite3/base.py", line 209, in get_new_connection
    conn = Database.connect(**conn_params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
django.db.utils.OperationalError: unable to open database file

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/data/mayan/44/311/bin/mayan-edms.py", line 22, in <module>
    main()
  File "/data/mayan/44/311/bin/mayan-edms.py", line 18, in main
    execute_from_command_line(sys.argv)
  File "/data/mayan/44/311/lib/python3.11/site-packages/django/core/management/__init__.py", line 419, in execute_from_command_line
    utility.execute()
  File "/data/mayan/44/311/lib/python3.11/site-packages/django/core/management/__init__.py", line 413, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/data/mayan/44/311/lib/python3.11/site-packages/django/core/management/base.py", line 354, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/data/mayan/44/311/lib/python3.11/site-packages/django/core/management/base.py", line 398, in execute
    output = self.handle(*args, **options)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/mayan/44/311/lib/python3.11/site-packages/mayan/apps/common/management/commands/common_perform_upgrade.py", line 18, in handle
    instance.do_perform_upgrade(
  File "/data/mayan/44/311/lib/python3.11/site-packages/mayan/apps/common/management/base.py", line 106, in do_perform_upgrade
    raise BaseCommonException(
mayan.apps.common.exceptions.BaseCommonException: Error during signal_pre_upgrade signal.

euhm… whoops, Error on my sideL I needed add the MAYAN_MEDIA_ROOT to the command somehow the script did not pickup the environment variable.

sudo -u mayan MAYAN_MEDIA_ROOT=/data/mayan/media mayan-edms.py common_perform_upgrade

This topic was automatically closed 12 hours after the last reply. New replies are no longer allowed.