# Direktes Schreiben in die Datenbank

**URL:** <https://meta.discourse.org/t/writing-directly-to-the-database/300651>\
**Category:** Development\
**Created:** [23. März 2024 um 13:01 UTC](https://meta.discourse.org/t/writing-directly-to-the-database/300651 "2024-03-23T13:01:14Z")\
**Posts on this page:** 1\
**Showing post:** 13

<div class="post-metadata">

**Author:** ![Isambard](https://avatars.discourse-cdn.com/v4/letter/i/858c86/32.png) [@Isambard](https://meta.discourse.org/u/Isambard)\
**Post date:** [23. März 2024 um 22:13 UTC](https://meta.discourse.org/t/writing-directly-to-the-database/300651/13 "2024-03-23T22:13:41Z")

</div>

> [@merefield](#):
>
> Authentifizierung und Autorisierung

Nun, eines der Dinge, die ich tun möchte, ist, die gesamte Autorisierung zu umgehen und den Beitrag in die Datenbank zu schreiben, ohne dass er fehlschlägt, weil ein Benutzer keine Berechtigung hat, in eine Kategorie zu posten, oder das Thema zu kurz ist, oder nicht genug Entropie vorhanden ist usw. usw.

Es wäre schön, wenn es einen „Superuser“-API-Aufruf gäbe, der all diese Prüfungen umgeht und einfach den Beitrag oder das Thema erstellt.

Wenn Sie beispielsweise die API verwenden möchten, um ein Thema unter einem Benutzer zu erstellen, der derzeit keine Berechtigung hat, in einer bestimmten Kategorie zu posten, können Sie den Parameter `bypass_validations` verwenden, um dies zu tun. Wenn Sie dann jedoch die API aufrufen, um eine Antwort desselben Benutzers zu erstellen, werden die Validierungsprüfungen nicht übersprungen und die Thread-Erstellung schlägt fehl. (Dies ist ein Fehler, der vor 6 Jahren mit einem Pull Request zur Behebung gemeldet wurde, der es nie in die Codebasis geschafft hat).

Außerdem gibt es in diesem Fall, im Gegensatz zum direkten Schreiben in die Datenbank, keine Unterstützung für Transaktionen, um die Erstellung des ursprünglichen Threads rückgängig zu machen, und Sie müssen ihn manuell finden, um ihn zu bereinigen und zu reparieren.

---

_[View the full topic](https://meta.discourse.org/t/writing-directly-to-the-database/300651)._
