X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=README.md;h=a81a8eea4632cd320de831be3d9963e66d5625f5;hb=27dfbabe2f3ab416eb13f35d8d7116a946ebf6fa;hp=7cf27c5fc886ef2540956d8a80d9197bc8810d54;hpb=ae600582a0ca98a1eb70971ee74640f7b59f1a9d;p=cheatdb.git diff --git a/README.md b/README.md index 7cf27c5..a81a8ee 100644 --- a/README.md +++ b/README.md @@ -1,31 +1,63 @@ # Content Database - -## Setup - -First create a Python virtual env: - - virtualenv env - source env/bin/activate - -then use pip: - - pip install -r requirements.txt - -## Running - -You need to enter the virtual environment if you haven't yet in -the current session: - - source env/bin/activate - -Reset the database like so: - - python setup.py -d - -Then run the server: - - python rundebug.py - -Then view in your web browser: - - http://localhost:5000/ +[![Build status](https://gitlab.com/minetest/contentdb/badges/master/pipeline.svg)](https://gitlab.com/minetest/contentdb/pipelines) + +Content database for Minetest mods, games, and more.\ +Developed by rubenwardy, license GPLv3.0+. + +## How-tos + +Note: you should first read one of the guides on the [Github repo wiki](https://github.com/minetest/contentdb/wiki) + +```sh +# Run celery worker +FLASK_CONFIG=../config.cfg celery -A app.tasks.celery worker + +# if sqlite +python utils/setup.py -t +rm db.sqlite && python setup.py -t && FLASK_CONFIG=../config.cfg FLASK_APP=app/__init__.py flask db stamp head + +# Create migration +FLASK_CONFIG=../config.cfg FLASK_APP=app/__init__.py flask db migrate +# Run migration +FLASK_CONFIG=../config.cfg FLASK_APP=app/__init__.py flask db upgrade + +# Enter docker +docker exec -it contentdb_app_1 bash + +# Hot/live reload (only works with FLASK_DEBUG=1) +./utils/reload.sh + +# Cold update a running version of CDB with minimal downtime +./utils/update.sh +``` + +## Database + + +```mermaid +classDiagram + +User "1" --> "*" Package +User --> UserEmailVerification +User "1" --> "*" Notification +Package "1" --> "*" Release +Package "1" --> "*" Dependency +Package "1" --> "*" Tag +Package "1" --> "*" MetaPackage : provides +Release --> MinetestVersion +Package --> License +Dependency --> Package +Dependency --> MetaPackage +MetaPackage "1" --> "*" Package +Package "1" --> "*" Screenshot +Package "1" --> "*" Thread +Thread "1" --> "*" Reply +Thread "1" --> "*" User : watchers +User "1" --> "*" Thread +User "1" --> "*" Reply +User "1" --> "*" ForumTopic + +User --> "0..1" EmailPreferences +User "1" --> "*" APIToken +APIToken --> Package +```