This is the project repository of the MySQL database used by the festivals-server for persistently storing festival data and a lightweight go sidecar app, called festivals-database-node. The festivals-database-node will register with the festivals-gateway discovery service and exposes other functions including backing up the database.
Development • Deployment • Engage
The FestivalsApp database is tightly coupled with the festivals-server which provides the implementation of the FestivalsAPI with the database functions as its persistent storage.
The database development is currently a little bit under-organized as at the moment there are really just database scripts storing the schema and the test data. Beside that there are bash scripts to install, backup, restore and uninstall the database but it all depends on manually running the script rather than having a build or test procedure. To test whether the database is correct i'm currently relying on downstream tests of the festivals-server or API framework and on the ability to rollback the database to a backup known to work.
- Golang Version 1.24.1+
- Visual Studio Code 1.98.2+
- Plugin recommendations are managed via workspace recommendations.
- Bash script friendly environment
- MySQL Community Edition Version 9+
The Go binaries are able to run without system dependencies so there are not many requirements for the system to run the festivals-database-node binary and most systems can run a mysql server, just follow the deployment guide for deploying it inside a virtual machine or the local deployment guide for running it on your macOS developer machine.
I welcome every contribution, whether it is a pull request or a fixed typo. The best place to discuss questions and suggestions regarding the database is the issues section. More general information and a good starting point if you want to get involved is the festival-documentation repository.
The following channels are available for discussions, feedback, and support requests:
Type | Channel |
---|---|
General Discussion | |
Other Requests |
Copyright (c) 2017-2025 Simon Gaus. Licensed under the GNU Lesser General Public License v3.0