PostGraphile-Schema erweitern & verfeinern: Plug-ins

Wir haben an unserem Schema in den vorherigen beiden Posts zu Smart Tags und Computed Columns schon einiges anpassen können. Dabei haben wir noch immer keinen Stein auf den Fuss bekommen. PostGraphile spielt einfach mit und macht einfach was wir wollen und schenkt uns immer noch ein super GraphQL-Schema, einfach generiert von unserer Postgres-Datenbank. Ist doch schonmal richtig gut!

Heute werden wir aber mal richtig kreativ und bohren unser GraphQL-API noch einmal richtig auf. PostGraphile bietet ein ausgiebiges Plug-in-System an – und das schauen wir uns jetzt mal genauer an!

Wie schon bei den vorhergegangenen Postst gilt: Der Code für das Beispielprojekt ist auf GitHub zu finden. (Mit ein paar einzelnen Commits, um die unternommenen Schritte von hier ein bisschen nachvollziehen zu können.)

Weiterlesen

PostGraphile-Schema erweitern & verfeinern: Computed Columns

Im letzten Post haben wir schon einmal ein bisschen losgelegt, unser GraphQL-Schema mit Smart Tags anzupassen. Einfach nur ein paar Features ein- und auszuschalten oder Spalten zu entfernen reicht natürlich nicht … Wir wollen ja in der echten Welt um einiges komplexere, vielleicht auch dynamische Werte in unserem API abbilden. Ohne also noch weiter auf den Busch zu klopfen schlage ich vor, wir schauen uns einfach direkt an, wie wir mit Computed Columns arbeiten können.

Wie auch schon im letzten Post gibt es allen Code in unserem Beispielprojekt auf GitHub zum Ausprobieren und Mitverfolgen.

Weiterlesen

PostGraphile-Schema erweitern & verfeinern: Smart Tags

Wer sich schon einmal grundlegend mit PostGraphile beschäftigt hat (PostgreSQL, GraphQL & PostGraphile – ein Überblick), wird sich vielleicht fragen: „Das ist ja super, um einfache CRUD-Anwendungen zu bauen; aber das reicht nicht für unsere Bedürfnisse, die wir an ein API stellen!“ – oder etwas Ähnliches.

Allerdings bekommen wir von PostGraphile nicht einfach nur allerlei Queries, CRUD Mutations und Erkennung von Relationen für unser Datenbankschema geschenkt! Es gibt dazu noch eine Reihe an Möglichkeiten, die Funktionsweise von PostGraphile zu konfigurieren und genau auf unsere Bedürfnisse zuzuschneiden, um auch eigene Geschäftslogik und spezielle Use-Cases in unseres GraphQL-API zu unterstützen.

Wir wollen hier anhand von möglichst einfachen, jedoch praxisnahen Beispielen aufzeigen, wie wir PostGraphile verwenden und nicht nur trotz, sondern mit Hilfe der starken Automatisierung, auch komplexe Use-Cases abdecken können und weiterhin von der Performance, Typsicherheit, und den guten GraphQL-Standards (die uns PostGraphile direkt mitliefert) profitieren!

Weiterlesen

PostGraphile: Von der Datenbank-Tabelle zu Queries & Mutations

Ihr habt es ja sicherlich schon mitbekommen: Aktuell wollen wir euch in einer Serie von Blogposts PostGraphile näher bringen. Dazu gehörte bisher eine ganze Reihe an Vorbereitung – doch jetzt wollen wir mal richtig loslegen.

Denn in diesem Artikel beleuchten wir, was PostGraphile uns schon out of the Box bietet, wenn wir unser Datenbank-Schema definiert haben. Alle Beispiele und ein docker-compose-Setup zum Spielen findet ihr in unserem GitHub-Repository zur Serie.

Weiterlesen

PostgreSQL, GraphQL & PostGraphile – ein Überblick

Wenn man heutzutage eine Software-Applikation bauen will, hat man die Auswahl aus einem bunten Strauß an Technologien. Dabei kann man schnell in Fallen laufen, da nicht alle Technologien gut miteinander arbeiten. Da wird dann plötzlich der Aufwand sehr groß, den Datenfluss durch den Tech-Stack unter Kontrolle zu halten.

Ein Setup, das gut zusammenspielt, bzw. teilweise darauf ausgelegt ist, in diesem Tech-Stack zu leben, ist Folgendes:

  • PostgreSQL für die Datenbank
  • PostGraphile zur Erstellung der API 
  • GraphQL zur Abfrage der API
  • TypeScript im Frontend (z. B. in Verbindung mit React)

Auf die drei Teile PostgreSQL, GraphQL und besonders PostGraphile wollen wir in diesem Artikel – und den folgenden Teilen der Blog-Serie – näher eingehen.

Weiterlesen

Audit Events in your GraphQL Stack with the postgraphile-audit-plugin

In many projects, one needs to track changes in data in your database. With pgMemento, you can automatically generate audit information like that. It extends your PostgreSQL tables by an audit_id column, which in turn refers to the specific audit event in the pgMemento tables, which are by default stored in a separate database schema.

So far, so good.

Weiterlesen