In dieser Kurzanleitung erstellen und stellen Sie eine kleine Beispieldatenbank bereit und greifen über ein React-Frontend darauf zu.
Vorbereitung
Für diese Kurzanleitung benötigen Sie Folgendes:
- Eine Node.js-Umgebung mit NPM.
- Ein Google-Konto.
Anleitung
| Anleitung | |
|---|---|
1. Projekt initialisierenErstellen Sie ein neues Verzeichnis und initialisieren Sie darin ein Firebase-Projekt. Wählen Sie bei entsprechender Aufforderung die folgenden Optionen aus:
|
|
2. Beispielhafte GraphQL-Definitionen ansehenIn SQL Connect definieren Sie alle Ihre Datenbankschemas und ‑vorgänge mit GraphQL. Als Sie Ihr Projekt initialisiert haben, hat die Firebase-Befehlszeile einige Beispieldefinitionen erstellt, damit Sie loslegen können. |
dataconnect/schema/schema.gql (Auszug)
type Movie @table { title: String! imageUrl: String! genre: String } type MovieMetadata @table { movie: Movie! @unique rating: Float releaseYear: Int description: String } query ListMovies @auth(level: PUBLIC) { movies { id title imageUrl genre } } |
3. Schemas und Vorgänge bereitstellenWenn Sie Änderungen an Ihren Datenbankschemas, Abfragen oder Mutationen vornehmen, müssen Sie sie bereitstellen, damit sie in der Datenbank wirksam werden. |
|
4. Datenbank mit Beispieldaten füllenAnhand dieser Startdaten können Sie die Beispiel-App testen. Beachten Sie, dass Sie in diesem Schritt beliebigen GraphQL-Code ausführen, was für administrative Aufgaben zulässig ist. |
|
5. JavaScript-Client-SDK generierenMit diesem Befehl werden Ihre GraphQL-Definitionen verwendet, um eine JavaScript-Bibliothek speziell für Ihre Datenbank zu generieren, einschließlich Typdefinitionen. Sie verwenden diese Bibliothek in Ihrer Client-App, um alle Datenbankvorgänge auszuführen. Sie können Bibliotheken für mehrere Plattformen generieren, darunter Kotlin für Android, Swift für iOS und Flutter, indem Sie |
export interface ListMoviesData { movies: ({ id: UUIDString; title: string; imageUrl: string; genre?: string | null; } & Movie_Key)[]; } export function useListMovies( options?: useDataConnectQueryOptions&<ListMoviesData> ): UseDataConnectQueryResult&<ListMoviesData, undefined>; |
6. Web-App einrichtenFühren Sie diese Befehle aus, um Ihrem Firebase-Projekt eine neue Web-App hinzuzufügen. |
|
7. Beispiel-React-Client schreibenErsetzen Sie den Inhalt von Beachten Sie, dass die App den erforderlichen Datenbankzugriff über eine Funktion aus dem generierten SDK ausführt. Das generierte SDK für React verwendet TanStack Query für die Statusverwaltung. |
import { initializeApp } from 'firebase/app'; import firebaseConfig from './firebase-config.json'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { useListMovies } from '@dataconnect/generated/react'; import './App.css'; const app = initializeApp(firebaseConfig); const queryClient = new QueryClient(); function App() { return ( <QueryClientProvider client={queryClient}> <Movies /> </QueryClientProvider> ); } function Movies() { const { isLoading, data } = useListMovies(); if (isLoading) { return <h1>...</h1> } return ( <> {data?.movies.map( movie => <h1 key={movie.id}>{movie.title}</h1> )} </> ); } export default App; |
8. Web-App ausprobierenStarten Sie den Entwicklungsserver, um die Beispiel-App in Aktion zu sehen. |
|
Nächste Schritte
SQL Connect-VS Code-Erweiterung ausprobieren
Bei der Entwicklung mit SQL Connect empfehlen wir dringend die Verwendung der SQL Connect-VS Code-Erweiterung. Auch wenn Sie Visual Studio Code nicht als primäre Entwicklungsumgebung verwenden, bietet die Erweiterung mehrere Funktionen, die die Entwicklung von Schemas und Vorgängen erleichtern:
- Ein GraphQL-Sprachserver, der Syntaxprüfung und automatische Vervollständigungsvorschläge speziell für SQL Connect bietet
- CodeLens-Schaltflächen in der Zeile mit Ihrem Code, mit denen Sie Daten aus Ihren Schemadefinitionsdateien lesen und in diese schreiben sowie Abfragen und Mutationen aus Ihren Vorgangsdefinitionen ausführen können.
- Generierte SDKs automatisch mit Ihren GraphQL-Definitionen synchronisieren
- Vereinfachte Einrichtung des lokalen Emulators.
- Vereinfachte Bereitstellung in der Produktion.
SQL Connect-Emulator für die lokale Entwicklung verwenden
In dieser Anleitung wurde gezeigt, wie Sie SQL Connect-Schemas und ‑Vorgänge direkt in der Produktionsumgebung bereitstellen. Wahrscheinlich möchten Sie jedoch keine Änderungen an Ihrer Produktionsdatenbank vornehmen, während Sie Ihre App aktiv entwickeln. Richten Sie stattdessen den SQL Connect-Emulator ein und führen Sie Ihre Entwicklungsarbeiten damit durch. Der Emulator richtet eine lokale PGlite-Instanz ein, die sich ähnlich wie eine aktive PostgreSQL-Instanz auf Cloud SQL verhält.
Informationen zum Erstellen von Schemas und Vorgängen für Ihre App
Beim Entwickeln von Apps mit SQL Connect ist das Design Ihrer Schemas und Vorgänge eine der ersten und wichtigsten Entwicklungsaufgaben, die Sie erledigen müssen.
- Gemini in der Firebase-Konsole ist ein KI-Tool, mit dem SQL Connect-Schemas aus einer Beschreibung Ihrer App in natürlicher Sprache generiert werden können. Dieses Tool kann Ihnen den Einstieg erleichtern, insbesondere wenn Sie noch nie mit relationalen Datenbanken gearbeitet haben.
- Alternativ können Sie Datenbankschemas, Abfragen und Mutationen direkt mit GraphQL schreiben. Beginnen Sie mit der Anleitung unter SQL Connect-Schemas entwerfen und lesen Sie dann auf den Folgeseiten, wie Sie Vorgänge schreiben.
SQL Connect-Echtzeitupdates erhalten
Mit SQL Connect können Sie Clientanwendungen schreiben, die in Echtzeit auf sich ändernde Daten reagieren. Weitere Informationen finden Sie unter Echtzeitupdates von SQL Connect erhalten.