GZTimeWalker / GZCTF

The GZ::CTF project, an open source CTF platform.
https://docs.ctf.gzti.me/
GNU Affero General Public License v3.0
731 stars 83 forks source link

Epic: Multi-provider databases support #262

Open hez2010 opened 3 months ago

hez2010 commented 3 months ago

We are going to add support for multi-provider databases. By adding this support, users can choose their own preferred database when use GZCTF.

Database support:

By default, the database provider will be PostgreSQL.

hez2010 commented 2 months ago

Summary on the current progress.

We have done the initial work for the fundamental of multi-database support. But each database provider comes with its own limitation which results in the current data model which uses PostgreSQL as the baseline cannot be used directly on different databases.

Particularly,

We need further work on the data model to fit the requirements coming from all the databases and would highly possibly require breaking changes to the database schema.

Triaging this as a future work.