Bookwyrm-Entwickler und Instanz-Manager können das bw-dev
-Skript für gemeinsame Aufgaben verwenden. Dies macht deine Befehle kürzer, leichter zu merken und schwieriger durcheinander zu bringen.
Sobald du Bookwyrm in Produktion oder in Entwicklunginstalliert hast, kannst du das Skript von der Kommandozeile aus mit ./bw-dev
ausführen, gefolgt von dem Unterbefehl, den du ausführen willst.
Öffne eine interaktive bash
-Sitzung im Docker-Web
-Container.
Äquivalent zu docker-compose build
.
Öffnen Sie eine interaktive Postgres-Datenbank-Shell. Ich hoffe, du weißst, was du tust.
Führe einen beliebigen Befehl (oben durch args
repräsentiert) im web
-Container aus.
Äquivalent zu docker-compose run --rm web
.
Führe einen beliebigen Befehl im Web
-Container (oben dargestellt durch args
) mit exponierten Ports aus. Dies ist nützlich, wenn du pdb
-Tests ausführen möchtest, da runweb
nicht die pdb
-Prompt freigibt.
Äquivalent zu docker-compose run --rm --service-ports web
.
Öffne eine interaktive Django-Shell im Docker-Web
-Container. Du würdest das verwenden, wenn du Django Shell-Befehle direkt ausführen möchtest.
Docker-Container starten oder neustarten, optional inklusive aller Argumente (oben dargestellt durch args
). Äquivalent zu docker-compose up --build [args]
Eine Datenbank initialisieren.
Dieser Befehl ist nicht verfügbar im Produktion
szweig.
Führt Djangos makemigrations
-Befehl im Docker-Container aus. Wenn du die Datenbankstruktur in einem Entwicklungszweig geändert hast, musst du dies ausführen, damit deine Änderungen wirksam werden. Optional kannst du eine bestimmte Migration angeben, z.B. ./bw-dev makemigrations bookwyrm 0108
Führt Djangos migrate
-Kommando im Docker-Container aus. Du musst dies immer nach makemigrations
ausführen.
Dieser Befehl ist nicht verfügbar im Produktion
szweig.
Setzt die Datenbank zurück. Dieser Befehl löscht deine gesamte Bookwyrm-Datenbankund initiiert dann eine neue Datenbank und führt alle Migrationen aus. Du solltest alle aktuellen Migrationsdateien löschen, die du nicht ausführen möchtest, bevor das resetdb
ausgeführt wird.
Kompiliert alle BookWyrm Themes, die *.scss
Dateien sind, die in bookwyrm/static/css/themes aufgelistet sind
.
Migrier statische Assets in einen Docker-Container oder in einen S3-kompatiblen "Bucket", abhängig vom Kontext.
Erzeugen von Vorschaubildern für Webseiten, Benutzer und Bücher. Es kann eine Weile dauern, wenn du viele Bücher hast. Siehe auch Optionale Funktionen: Generiere Vorschaubilder
Entferne für entfernte Benutzer generierte Vorschaubilder. Siehe Optionale Funktionen: Vorschaubilder für entfernte Accounts entfernen
Generiert Vorschaubilder für Bücher.
Redis-Streams (Benutzer-Feeds) werden wieder aufgebaut. Normalerweise giibt es keinen Grund diesen Befehl auszuführen, außer es gibt einen Fehler, der die Feeds deiner Benutzer*innen aus irgendeinem Grund löscht. Du kannst den entsprechenden Feed mit dem --stream
Argument angeben.
Redis-Cache der Listen wieder auffüllen. Du musst das normalerweise nicht ausführen, es sei denn, es gibt einen Fehler, der die Listen deiner Benutzer*innen aus irgendeinem Grund löscht.
Empfohlene Benutzer*innen für alle anzeigen. Möglicherweise möchten Sie dies manuell ausführen, um Vorschläge zu aktualisieren.
Startet den celery_worker
-Docker-Container neu.
Wenn es Änderungen im -Produktions
-Zweig gibt, kannst Du Deine Instanz ohne Ausfallzeit aktualisieren.
Dieser Befehl verwendet git pull
um die neusten Aktualisierungen aus dem production
-Zweig herunterzuladen, baut Docker-Images falls nötig, führt Django-Migrationen aus, aktualisiert statische Dateien und startet alle Docker-Container neu.
Ruft den geheimen Admin-Code ab, der verwendet wird, um den initalen Admin-Benutzer in einer neuen BookWyrm-Instanz zu registrieren.
Standardmäßig verwendet BookWyrm lokalen Speicher für statische Assets (Favicon, Standard-Avatar, etc.) und Medien (Benutzer-Avatare, Buchtitelbilder usw.), aber du kannst einen externen Speicherdienst verwenden, um diese Dateien zu bereitzustellen. BookWyrm verwendet django-storages, um externen Speicher wie S3-kompatible Dienste, Apache Libcloud oder SFTP anzubinden.
Siehe Externer Speicher für weitere Informationen.
Migriere alle hochgeladenen Medien von einer bestehenden BookWyrm Installation in einen S3-kompatiblen "Bucket". Verwende dies für den initialen Upload in einen leeren Bucket.
Synchronisiere neue oder geänderte Medien von einer existierenden Bookwrym-Installation zu einem S3-kompatiblen "Bucket". Verwende diesen Befehl, um sicherzustellen, dass alle lokalen Dateien in einen existierenden Bucket hochgeladen werden.
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
)
Diese Befehle sind zurzeit noch nicht im production
-Zweig verfügbar.
BookWyrm verwendet den Black Code-Formatierer, um die Python Codebasis konsistent zu gestalten. 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 stylelintprettier
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.
Äquivalent zu:
docker-compose stop
docker-compose rm -f
Erstellt Nachrichtendateien für alle Übersetzungstexte. After you have run makemessages
you need to run compilemessages
to compile the translations. Siehe Djangos 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.