Hi @johnf,
Thank you for reaching out! The error you are receiving says the following:
Table 'herbarium.spdataset' doesn't exist
This means that your Specify database (herbarium) does not have the spdataset table, which is what Specify 7 uses for storing WorkBench and Batch Edit data sets. Without this, those tools will not be able to function. Since you are self-hosted, you or your IT department will need to ensure that all necessary tables and Django migrations have been executed on the database.
To make sure this table is created properly, it is necessary to use a MariaDB user with permissions to create and modify tables in the database. You or your IT administrator will need to restart Specify 7 with your database root user credentials so that the migrations can complete successfully.
Once this is done, you’ll need to check the logs for the specify7 container in Docker and confirm that all Django migrations are applied without any issues.
If the last line after all migrations are run says Watching for file changes with StatReloader, this means all migrations have completed without issue. It may take several minutes for these migrations to be run.
Once this is done, you’ll want to make sure the spdataset table exists in the database. If it doesn’t, please reach out again with a a backup of the database if possible!
Example Healthy Logs:
They won’t look exactly like this, as there are likely many earlier migrations missing, but this is the sort of thing to look for!
If you see a message like [WARNING] Field does not exist in latest state of the datamodel, skipping Schema Config entry for, you can also safely ignore that.
2025-10-08 15:23:13 Updating static files in /volumes/static-files/.
2025-10-08 15:23:14 Applying Django migrations.
2025-10-08 15:24:18 Operations to perform:
2025-10-08 15:24:18 Apply all migrations: accounts, attachment_gw, auth, businessrules, contenttypes, notifications, patches, permissions, sessions, specify, workbench
2025-10-08 15:24:18 Running migrations:
2025-10-08 15:24:19 Applying businessrules.0007_more_uniqueness_rules... OK
2025-10-08 15:24:19 Applying businessrules.0008_fix_global_default_rules... OK
2025-10-08 15:24:20 Applying specify.0027_CO_children... OK
2025-10-08 15:24:20 Applying specify.0028_selectseries... OK
2025-10-08 15:28:35 Applying specify.0029_remove_collectionobject_parentco... OK
2025-10-08 15:28:35 Applying specify.0030_fix_storage_uniqueidentifier... OK
2025-10-08 15:28:35 Applying specify.0031_add_default_for_selectseries... OK
2025-10-08 15:28:36 Applying specify.0032_add_quantities_gift... OK
2025-10-08 15:28:36 Applying specify.0033_update_paleo_desc... OK
2025-10-08 15:28:43 Applying specify.0034_accession_date_fields... OK
2025-10-08 15:29:26 Applying specify.0035_version_required... OK
2025-10-08 15:29:26 Applying patches.0004_add_title_tree_rank_fix... OK
2025-10-08 15:29:26 Applying patches.0005_chrono_start_end... OK
2025-10-08 15:29:39 Applying patches.0006_version_fix... OK
2025-10-08 15:29:39 Applying patches.0007_fix_tectonicunit_tree_root... OK
2025-10-08 15:29:40 Applying specify.0036_remove_spquery_selectseries... OK
2025-10-08 15:29:40 Applying specify.0037_make_smushed_default_false... OK
2025-10-08 15:29:41 Applying specify.0038_make_countonly_default_false... OK
2025-10-08 15:29:46 Applying specify.0039_agent_fields_for_loan_and_gift... OK
2025-10-08 15:29:48 Applying workbench.0007_spdatasetattachment... OK
2025-10-08 15:29:48 Applying workbench.0008_spdataset_rolledback... OK
2025-10-08 15:29:52 Watching for file changes with StatReloader