Upgrading to Specify 7.7+: HTTP 500 error

If you are updating to Specify 7.7 or newer, Specify is supposed to create new tables related to the security and accounts features.

If you encounter the following error upon updating to 7.9.3, you should follow the same instructions:

"exception": "ProgrammingError", "message": "1146", "data": "Table 'db_name.uniquenessrule' doesn't exist"

In your docker-compose.yml file, you should use your root user credentials instead of the master user credentials for the first run in Specify 7.

You just need to modify the following lines in the environment section, replacing root_password with your root user’s password:

- MASTER_PASSWORD=root_password

After this is complete, you can compose the containers again.

If you are still having trouble on the next run, you can run the following command in MySQL:

delete from django_migrations where app = 'permissions';

This will clear the spuserpolicy migration and allow you to run them once again.

Please let us know if you are still having trouble!

If you are encountering other issues with missing tables related to Specify 7, you should run the django_migrations to ensure that the schema changes have been applied properly.


I didn’t see this error, but I am seeing

ProgrammingError at /context/user.json

(1146, "Table 'specify.agentidentifier' doesn't exist")

Request Method: 	GET
Request URL: 	http://dev-biodis22.ksulib.net/context/user.json
Django Version: 	2.2.10
Exception Type: 	ProgrammingError
Exception Value: 	

(1146, "Table 'specify.agentidentifier' doesn't exist")

Exception Location: 	/opt/specify7/ve/lib/python3.8/site-packages/MySQLdb/connections.py in query, line 276
Python Executable: 	/opt/specify7/ve/bin/python3.8
Python Version: 	3.8.0
Python Path: 	


Server time: 	Wed, 22 Feb 2023 15:16:51 -0600

Any ideas on solving this?

Edit by @Specify:

This has been discussed further in the following topic: