Issue with Transitioning Frappe Framework from Production to Developer Mode

Hello everyone,

I am currently using the Frappe framework and have several sites running in Multitenancy mode. Initially, everything was set up and running smoothly in Production mode. Recently, I decided to switch from Production mode to Developer mode and used the following commands to make the transition:

cd frappe-bench
rm config/supervisor.conf
rm config/nginx.conf
service nginx stop
sudo service supervisor stop

Now, everything seems to be running on http://127.0.0.1:8000, but the page does not display. The browser appears to be loading indefinitely.

Has anyone encountered this issue before, or can anyone provide guidance on how to resolve this? Any help would be greatly appreciated.

Thank you!

Error Code: 500

Traceback (most recent call last):
  File "apps/frappe/frappe/website/serve.py", line 19, in get_response
    endpoint, renderer_instance = path_resolver.resolve()
                                  ^^^^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/website/path_resolver.py", line 38, in resolve
    resolve_redirect(self.path, request.query_string)
  File "apps/frappe/frappe/website/path_resolver.py", line 118, in resolve_redirect
    redirects += frappe.get_all(
                 ^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/__init__.py", line 2097, in get_all
    return get_list(doctype, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/__init__.py", line 2072, in get_list
    return frappe.model.db_query.DatabaseQuery(doctype).execute(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/model/db_query.py", line 193, in execute
    result = self.build_and_run()
             ^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/model/db_query.py", line 234, in build_and_run
    return frappe.db.sql(
           ^^^^^^^^^^^^^^
  File "apps/frappe/frappe/database/database.py", line 236, in sql
    self._cursor.execute(query, values)
  File "env/lib/python3.11/site-packages/pymysql/cursors.py", line 153, in execute
    result = self._query(query)
             ^^^^^^^^^^^^^^^^^^
  File "env/lib/python3.11/site-packages/pymysql/cursors.py", line 322, in _query
    conn.query(q)
  File "env/lib/python3.11/site-packages/pymysql/connections.py", line 563, in query
    self._affected_rows = self._read_query_result(unbuffered=unbuffered)
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "env/lib/python3.11/site-packages/pymysql/connections.py", line 825, in _read_query_result
    result.read()
  File "env/lib/python3.11/site-packages/pymysql/connections.py", line 1199, in read
    first_packet = self.connection._read_packet()
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "env/lib/python3.11/site-packages/pymysql/connections.py", line 775, in _read_packet
    packet.raise_for_error()
  File "env/lib/python3.11/site-packages/pymysql/protocol.py", line 219, in raise_for_error
    err.raise_mysql_exception(self._data)
  File "env/lib/python3.11/site-packages/pymysql/err.py", line 150, in raise_mysql_exception
    raise errorclass(errno, errval)
pymysql.err.OperationalError: (1054, "Unknown column 'redirect_http_status' in 'field list'")

Is there anyone who can help?

You need to do the following:

  • Check that installed applications have the same version as in production (bench version), and downlad missing apps if needed (bench get-app ...).
  • Run migrations using bench migrate

The second point seems to be the issue, you need to run migrations. But, if you are restoring from a production backup, then your issue is most likely that you have the wrong app versions installed.