Z tego krótkiego wprowadzenia dowiesz się, jak utworzyć Firebase Data Connect w aplikacji.
- Dodaj Firebase Data Connect do projektu Firebase.
- Skonfiguruj środowisko programistyczne, w tym rozszerzenie Visual Studio Code, aby pracować z produkcyjną instancją.
- Następnie pokażemy Ci, jak:
- Utwórz schemat dla aplikacji z opiniami o filmach i wdróż go w wersji produkcyjnej.
- Zdefiniuj zapytania i mutacje dla schematu.
- Generowanie pakietów SDK o ściśle określonym typie i ich używanie w aplikacji
- Wdróż ostateczny schemat, zapytanie i dane w środowisku produkcyjnym.
Wymagania wstępne
Aby skorzystać z tego samouczka w środowisku lokalnym, musisz mieć:
- Linux, macOS lub Windows
- Visual Studio Code
Łączenie z projektem Firebase
- Jeśli nie masz jeszcze projektu Firebase, utwórz go.
- W konsoli Firebase kliknij Dodaj projekt i postępuj zgodnie z instrukcjami wyświetlanymi na ekranie.
- Otwórz sekcję Data Connect w konsoli Firebase i postępuj zgodnie z procesem konfiguracji usługi.
Przejdź w projekcie na abonament Blaze. Dzięki temu możesz utworzyć instancję Cloud SQL for PostgreSQL.
Wybierz lokalizację bazy danych CloudSQL for PostgreSQL.
Zapisz sobie nazwy i identyfikatory projektu, usługi i bazy danych, aby później je potwierdzić.
Wykonaj pozostałe czynności konfiguracji, a potem kliknij Gotowe.
Wybieranie i konfigurowanie środowiska programistycznego
Data Connect obsługuje 2 metody tworzenia aplikacji:
- Jeśli jesteś deweloperem Kotlin Android, iOS, Flutter lub web, możesz użyć VS Code do programowania, aby projektować i testować schematy oraz operacje lokalnie podczas łączenia się z instancją Cloud SQL for PostgreSQL.
- Jeśli jesteś programistą internetowym, możesz użyć IDX Development do tworzenia prototypów w swojej IDX Workspace, korzystając z wstępnie skonfigurowanego szablonu IDX z PostgreSQL, rozszerzenia VS Code z emulatorem Data Connect oraz kodu klienta quickstart, który został dla Ciebie przygotowany. Więcej informacji znajdziesz na stronie projektu IDX.
W tym krótkim wprowadzeniu omówiono proces tworzenia rozszerzenia do VS Code. Aby kontynuować:
- Utwórz nowy katalog dla lokalnego projektu.
- Otwórz VS Code w nowym katalogu.
Zainstaluj rozszerzenie Firebase Data Connect ze sklepu Visual Studio Code Marketplace.
Konfigurowanie projektu lokalnego
Zainstaluj interfejs wiersza poleceń, postępując zgodnie z zwykłymi instrukcjami. Jeśli masz już zainstalowany pakiet npm, uruchom to polecenie:
npm install -g firebase-tools
Konfigurowanie katalogu projektu
Aby skonfigurować projekt lokalny, zainicjuj katalog projektu.
W panelu po lewej stronie w VS Code kliknij ikonę Firebase, aby otworzyć interfejs rozszerzenia Firebase dla VS Code.
- Kliknij przycisk Zaloguj się przez Google.
- Kliknij przycisk Połącz z projektem Firebase i wybierz projekt utworzony wcześniej w konsoli.
- Kliknij przycisk Uruchom init Firebase.
- Jeśli Twój projekt jest objęty abonamentem Blaze, na pytanie "Czy chcesz teraz skonfigurować zasoby backendu?" odpowiedz "Tak".
Kliknij przycisk Uruchom emulatory.
Tworzenie schematu
W katalogu projektu Firebase w pliku /dataconnect/schema/schema.gql
zacznij definiować schemat GraphQL, który zawiera filmy.
Film
W Data Connect pola GraphQL są mapowane na kolumny. Typ Movie
: id
, title
, imageUrl
i genre
. Data Connectrozpoznaje prymitywne typy danych String
i UUID
.
Skopiuj ten fragment kodu lub odkomentuj odpowiednie wiersze w pliku.
# File `/dataconnect/schema/schema.gql`
# By default, a UUID id key will be created by default as primary key.
type Movie @table {
id: UUID! @default(expr: "uuidV4()")
title: String!
imageUrl: String!
genre: String
}
MovieMetadata
Teraz, gdy masz już filmy, możesz modelować metadane filmów.
Skopiuj ten fragment kodu lub odkomentuj odpowiednie wiersze w pliku.
# Movie - MovieMetadata is a one-to-one relationship
type MovieMetadata @table {
# This time, we omit adding a primary key because
# you can rely on Data Connect to manage it.
# @unique indicates a 1-1 relationship
movie: Movie! @unique
# movieId: UUID <- this is created by the above reference
rating: Float
releaseYear: Int
description: String
}
Zwróć uwagę, że pole movie
jest zmapowane na typ Movie
.
Data Connect rozumie, że jest to relacja między Movie
i MovieMetadata
, i będzie zarządzać tą relacją w Twoim imieniu.
Więcej informacji o schematach Data Connect znajdziesz w dokumentacji
Wdrażanie schematu w gałęzi produkcyjnej
Jeśli do pracy z produkcyjną bazą danych używasz rozszerzenia Firebase do VS Code, przed kontynuacją musisz wdrożyć schemat. Po wdrożenie schematu do produkcyjnej bazy danych powinieneś mieć możliwość wyświetlenia go w konsoli.
- Do wdrożenia możesz użyć rozszerzenia Data Connect w VS Code.
- W interfejsie rozszerzenia w panelu Firebase Data Connect kliknij Wdróż w wersji produkcyjnej.
- Może być konieczne sprawdzenie zmian w schemacie i zatwierdzenie potencjalnie szkodliwych modyfikacji. Pojawi się prośba o:
- Sprawdzanie zmian schematu za pomocą
firebase dataconnect:sql:diff
- Gdy już wprowadzisz zmiany, zastosuj je za pomocą procesu rozpoczętego przez
firebase dataconnect:sql:migrate
.
- Sprawdzanie zmian schematu za pomocą
Dodawanie danych do tabel
W panelu edytora VS Code zobaczysz przyciski CodeLens nad typami GraphQL w /dataconnect/schema/schema.gql
. Ponieważ schemat został wdrożony w produkcji, możesz użyć przycisków Dodaj dane i Uruchom (produkcja), aby dodać dane do bazy danych na zapleczu.
Aby dodać rekordy do tabeli Movie
:
- W
schema.gql
nad deklaracją typuMovie
kliknij przycisk Dodaj dane.
- W wygenerowanym pliku
Movie_insert.gql
zakoduj na stałe dane dla tych 4 pol. - Kliknij przycisk Uruchom (wersja produkcyjna).
- Powtórz poprzednie czynności, aby dodać rekord do tabeli
MovieMetadata
, podając w polumovieId
id
swojego filmu zgodnie z wytycznymi w wygenerowanej mutacjiMovieMetadata_insert
.
Aby szybko sprawdzić, czy dane zostały dodane:
- W pliku
schema.gql
kliknij przycisk Odczytaj dane nad deklaracją typuMovie
. - Aby wykonać zapytanie, w wygenerowanym pliku
Movie_read.gql
kliknij przycisk Uruchom (wersja produkcyjna).
Więcej informacji o mutacjach w Data Connect znajdziesz w dokumentacji
Definiowanie zapytania
Teraz czas na zabawę – zapytania. Jako programista jesteś przyzwyczajony do pisania zapytań SQL, a nie zapytań GraphQL, więc na początku może to być nieco dziwne. Jednak GraphQL jest znacznie bardziej zwięzły i bezpieczny pod względem typów niż zwykły SQL. Nasz dodatek do VS Code ułatwia programowanie.
Zacznij edytować plik /dataconnect/connector/queries.gql
. Jeśli chcesz uzyskać wszystkie filmy, użyj takiego zapytania.
# File `/dataconnect/connector/queries.gql`
# @auth() directives control who can call each operation.
# Anyone should be able to list all movies, so the auth level
# is set to PUBLIC
query ListMovies @auth(level: PUBLIC) {
movies {
id
title
imageUrl
genre
}
}
Wykonaj zapytanie za pomocą przycisku CodeLens.
.Więcej informacji o zapytaniach Data Connect znajdziesz w dokumentacji
Generowanie pakietów SDK i używanie ich w aplikacji
- Kliknij przycisk Dodaj pakiet SDK do aplikacji.
W wyświetlonym oknie wybierz katalog z kodem aplikacji. Data Connect. Kod SDK zostanie wygenerowany i tam zapisany.
Wybierz platformę aplikacji, a potem zwróć uwagę, że kod SDK zostanie natychmiast wygenerowany w wybranym katalogu.
Dowiedz się, jak używać wygenerowanego pakietu SDK do wywoływania zapytań i mutacji z aplikacji klienckich (internetowej, na Androida, na iOS, na Fluttera).
Wdrażanie schematu i zapytania do wersji produkcyjnej
Przeszedłeś przez iterację procesu tworzenia. Teraz możesz wdrożyć na serwer schemat, dane i zapytania za pomocą interfejsu Firebase Extension lub wiersza poleceń Firebase, tak jak w przypadku schematu.
Jeśli do wdrażania używasz rozszerzenia Firebase dla VS Code, kliknij przycisk Wdróż w wersji produkcyjnej.
Po wdrożeniu przejdź do konsoli Firebase, aby sprawdzić, czy schemat, operacje i dane zostały przesłane do chmury. W konsoli powinieneś mieć możliwość wyświetlania schematu i wykonywania operacji. Instancja Cloud SQL for PostgreSQL zostanie zaktualizowana o ostateczny wdrożony schemat i dane.
Więcej informacji o używaniu emulatora Data Connect znajdziesz w dokumentacji
Dalsze kroki
Sprawdź wdrożony projekt i odkryj więcej narzędzi:
Dodawaj dane do bazy danych, sprawdzaj i modyfikuj schematy oraz monitoruj usługę Data Connect w konsoli Firebase. Więcej informacji znajdziesz w dokumentacji. Na przykład po ukończeniu krótkiego wprowadzenia:
Dowiedz się więcej o rozwijaniu schematu, zapytania i mutacji.
Dowiedz się więcej o generowaniu pakietów SDK klienta i wywoływaniu zapytań i mutacji z kodu klienta na stronie internetowej, Androidzie, iOS i Flutterze.