Zanata is a open source web-based translation platform for translators, content creators and developers.
If you are trying the docker-files from zanata you will eventually hit the following error when creating a translation project – or – open the glossary page.
ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (default task-6) Unknown column ‘hglossaryt0_.glossaryEntryId’ in ‘field list’
Zanata error log
The Problem
The database seems to have missing column ‘glossaryEntryId’.
The Cause
This is caused by the database engine version used in the docker rundb.sh script.
The Solution
Update the mariadb version in the rundb.sh script to 10.3
## Create new container if zanatadb does not exist
docker run --name zanatadb \
-e MYSQL_USER=${ZANATA_MYSQL_USER} -e MYSQL_PASSWORD=${ZANATA_MYSQL_PASSWORD} \
-e MYSQL_DATABASE=${ZANATA_MYSQL_DATABASE} -e MYSQL_RANDOM_ROOT_PASSWORD=yes \
-v zanata-db:/var/lib/mysql:Z \
-p 3306:3306 \
--net ${ZANATA_DOCKER_NETWORK} \
-d mariadb:10.3 \
--character-set-server=utf8 --collation-server=utf8_general_ci
Make sure that your previous zanata volumes are removed, and run the rundb.sh / runapp.sh script again.
Happy translating!