Strange. One thing to check would be the SQL modes - I think with MySQL 8, STRICT_TRANS_TABLES might be on by default, but we've found that this has caused some strange errors in AtoM similar to this, so for now we recommend disabling it. There's a section in the installation docs where we set the SQL modes here:
Additionally, we have some SQL queries on how you can check and change them here:
If you're new to using the MySQL command prompt, we have basic instructions on how to access it, and how to find out your MySQL credentials if you don't know them, here:
If everything looks fine there, then another thing you could try is purging the database, then dropping and recreating it.
First, we'll use the purge command - remember, this is the command that deletes ALL DATA, so back up now if there's anything you want to keep (though in your case it sounds like this isn't an issue). Note as well that this command - and any task that begins with php symfony - should be run from AtoM's root installation directory, which is typically /usr/share/nginx/atom if you've followed our recommended installation instructions.
Now, let's try dropping and recreating the AtoM database. This is typically done from the MySQL command prompt. The example command below, taken from the Upgrading docs, assumes your database name is atom - if not, make sure to modify the command:
- mysql -u username -p -e "DROP DATABASE IF EXISTS atom;"
- mysql -u username -p -e "CREATE DATABASE atom CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;"
Finally, it can often help to restart services - and we can also try populating the search index, to see if Elasticsearch is running as expected. Exit the MySQL command prompt and return to AtoM's root directory, if you're not already there.
Clear the application cache:
- sudo systemctl restart php7.2-fpm
Now try to populate the search index:
- php symfony search:populate
Hopefully the above should help! If not, let us know and I'll follow up with the developers for further suggestions.