Programiści BookWyrm oraz menedżerowie instancji mogą skorzystać ze skryptu bw-dev
do częstych zadań. Może to skrócić Twoje polecenia, ułatwić ich zapamiętanie i utrudnić zepsucie czegoś.
Once you have installed Bookwyrm in production or in development, you can run the script from the command line with ./bw-dev
followed by the subcommand you want to run.
Otwórz interaktywną sesję bash
w kontenerze web
dockera.
Równoznaczne z kompilacją docker-compose
.
Otwiera interaktywną powłokę bazy danych Postgres. Mam nadzieję, że wiesz, co robisz.
Wykonuje dowolne polecenie (reprezentowane powyżej przez args
) w kontenerze web
.
Równoznaczne z docker-compose run --rm web
.
Run an arbitrary command in the web
container (represented above by args
) with ports exposed. This is useful if you want to run pdb
tests because runweb
will not expose the pdb
prompt.
Equivalent to docker-compose run --rm --service-ports web
.
Open an interactive Django shell inside the docker web
container. You would use this if you want to run Django shell commands directly.
Start or restart Docker containers, optionally including any arguments (represented above by args
). Equivalent to docker-compose up --build [args]
Inicjuje bazę danych.
This command is not available on the production
branch.
Runs Django's makemigrations
command inside your Docker container. If you have changed the database structure in a development branch you will need to run this for your changes to have effect. Optionally, you can specify a specific migration to run, e.g. ./bw-dev makemigrations bookwyrm 0108
Runs Django's migrate
command inside your Docker container. You always need to run this after makemigrations
.
To polecenie nie jest dostępne w gałęzi production
.
Zeruje bazę danych. To polecenie spowoduje usunięcie całej Twojej bazy danych BookWyrm oraz zainicjuje świeżą bazę danych i wykona wszystkie migracje. Należy usunąć wszystkie najnowsze pliki migracji, których nie chcesz użyć przed wykonaniem resetdb
.
Compiles all BookWyrm themes, which are *.scss
files listed in bookwyrm/static/css/themes
.
Migrate static assets to either a Docker container or to an S3-compatible "bucket", depending on the context.
Generate preview images for site, users, and books. This can take a while if you have a large database. See Optional Features: Generating preview images
Remove generated preview images for remote users. See Optional Features: Removing preview images for remote users
Generates thumbnail images for book covers.
Re-populates Redis streams (user feeds). You will not usually need to run this unless there is an error that wipes out your user feeds for some reason. You can specify which stream using the --stream
argument.
Re-populates Redis cache of lists. You will not usually need to run this unless there is an error that wipes out your users' lists for some reason.
Populate suggested users for all users. You may want to run this manually to refresh suggestions.
Restarts the celery_worker
Docker container.
When there are changes to the production
branch, you can update your instance without downtime.
This command git pull
s the latest production
branch updates, builds docker images if necessary, runs Django migrations, updates static files, and restarts all Docker containers.
Gets the secret admin code used to register the inital admin user on a new BookWyrm instance.
By default, BookWyrm uses local storage for static assets (favicon, default avatar, etc.), and media (user avatars, book covers, etc.), but you can use an external storage service to serve these files. BookWyrm uses django-storages to handle external storage, such as S3-compatible services, Apache Libcloud or SFTP.
See External Storage for more information.
Migrate all uploaded media from an existing BookWyrm installation to an S3-compatible "bucket". Use for initial upload to an empty bucket.
Sync new or changed uploaded media from an existing Bookwrym installation to an S3-compatible "bucket". Use to ensure all local files are uploaded to an existing bucket.
Copy a CORS rules JSON file to your S3 bucket, where filename
is the name of your JSON file (e.g. ./bw-dev set_cors_to_s3 cors.json
)
These commands are not available on the production
branch.
BookWyrm uses the Black code formatter to keep the Python codebase consistent styled. Run black
before committing your changes so the pylint
task does not fail for your pull request and make you sad.
BookWyrm uses Prettier to keep the JavaScript codebase consistently styled. Run prettier
before committing changes to scripts to automatically format your code.
BookWyrm uses Stylelint to keep the CSS files consistently styled. Run stylelint
before committing changes to scripts to automatically format your code.
This command runs all code formatters (black
, prettier
, and stylelint
) in one go.
Remove all stopped Docker containers.
Equivalent to:
docker-compose stop
docker-compose rm -f
Creates message files for all translation strings. After you have run makemessages
you need to run compilemessages
to compile the translations. See Django's makemessages.
Compiles translation files. See Django's compilemessages.
Run tests with pytest
.
Deactivates two factor authentication for a given user.
Confirms a users email, sets the user to active.