Interfejs wiersza poleceń Firebase to narzędzie, które umożliwia zarządzanie Firebase i konfigurowanie go i usług z wiersza poleceń.
Interfejs wiersza poleceń udostępnia polecenia, których można używać do wykonywania różnych Data Connectzadań, takich jak tworzenie nowego projektu Data Connect, inicjowanie odpowiedniego lokalnego katalogu roboczego, konfigurowanie emulatora Data Connect, wyświetlanie zasobów Data Connect, generowanie pakietów SDK klienta i inne.
Polecenia związane z konfiguracją
Dodawanie aplikacji Data Connect do projektu Firebase
inicjowanie Firebase
Aby skonfigurować nową konfigurację projektu lokalnego, użyj polecenia firebase init
. Ten proces tworzy lub aktualizuje pliki konfiguracji Firebase w Twoim katalogu.
firebase init
Proces firebase init
poprowadzi Cię przez konfigurowanie usługi i bazy danych oraz opcjonalnie przez instalowanie emulatora Data Connect i konfigurowanie wygenerowanych pakietów SDK.
Konfigurowanie usługi i bazy danych
Jeśli podczas konfigurowania usługi wybierzesz dataconnect
, w interfejsie wiersza poleceń wyświetli się prośba o podanie nowego
nazwę i lokalizację usługi oraz to, czy należy połączyć i istnieć Cloud SQL dla
PostgreSQL lub utwórz nową.
Jeśli istniejąca instancja jest połączona, interfejs wiersza poleceń sprawdza zgodność ustawień, takich jak uwierzytelnianie uprawnień i publiczne adresy IP.
Local Emulator Suite konfiguracja
Interfejs wiersza poleceń umożliwia konfigurowanie emulatorów, w tym emulatora Data Connect.
Data Connect polecenia emulatora
Uruchom emulator Data Connect
emulatory:start/exec
firebase emulators:start/exec
Użyj wersji Local Emulator Suite emulatora Data Connect w trybie interaktywnym (start
) lub w trybie nieinteraktywnym sterowanym przez skrypt (exec
).
Polecenia zarządzania schematami i połączeniami
Ta sekcja zawiera informacje referencyjne dotyczące interfejsu wiersza poleceń dla poleceń, którymi zarządzasz schematy i oprogramowanie sprzęgające.
Informacje o przypadkach użycia i zalecanych metodach związanych z tymi poleceniami znajdziesz w przewodniku Schemat i sprzęganie.
Wdrażanie zasobów schematu i oprogramowania sprzęgającego
wdróż
firebase deploy
To polecenie wdraża zasoby dla usług Data Connect zindeksowanych w firebase.json. Migracja schematu w razie potrzeby.
Polecenie | Opis | |
---|---|---|
wdrożenie Firebase |
Flaga | Opis |
–-only dataconnect |
Wdrożyć schematy i złącza dla wszystkich usług Data Connect w tym projekcie, ale nie wdrażać innych zasobów usług Firebase. | |
–-only dataconnect:serviceId |
Wdróż schemat i oprogramowanie sprzęgające dla określonej usługi Data Connect. | |
–-only dataconnect:serviceId:connectorId |
Wdrażanie pojedynczego łącznika na potrzeby określonej usługi Data Connect. | |
–-only dataconnect:serviceId:schema |
Wdróż schemat dla określonej usługi Data Connect. |
Dzięki flagom –-only
możesz przekazywać wartości rozdzielone przecinkami, aby wdrożyć dowolny podzbiór zasobów.
firebase deploy --only dataconnect:service1:schema,dataconnect:service2
Wyświetlanie listy usług, schematów i złączeń Data Connect
dataconnect:services:list
firebase dataconnect:services:list
To polecenie powoduje wyświetlenie podstawowych informacji o usługach, schematach i oprogramowaniu sprzęgającym wdrożone w projekcie.
Porównaj i przenieś schematy SQL
dataconnect:sql:diff
firebase dataconnect:sql:diff
To polecenie porównuje lokalny schemat usługi z bieżącym schematem odpowiedniej bazy danych Cloud SQL. Wypisuje polecenia, które zostaną wykonane, aby przenieść bazę danych do nowego schematu.
Command | Opis | |
---|---|---|
firebase dataconnect:sql:diff |
Flaga/parametr | Opis |
serviceId |
Określ usługę. Jeśli pominiesz ten parametr, różnice zostaną wydrukowane dla wszystkich usług w pliku firebase.json. |
dataconnect:sql:migrate
firebase dataconnect:sql:migrate
To polecenie stosuje zmiany schematu lokalnego do bazy danych Cloud SQL usługi.
Gdy tworzysz nowy lokalny projekt Data Connect z domyślnym plikiem dataconnect.yaml
, polecenie dataconect:sql:migrate
najpierw wyświetla prośbę o wprowadzenie wymaganych zmian, a potem opcjonalnych. Możesz zmienić to zachowanie, aby zawsze uwzględniać lub ignorować opcjonalne zmiany, aktualizując konfigurację dataconnect.yaml
zgodnie z opisem w artykule Przeniesienie schematu w trybie ścisłym lub zgodnym.
W środowiskach interaktywnych interfejs wiersza poleceń wyświetla każdą instrukcję SQL migracji
(określać, czy są szkodliwe) i zachęcać do wprowadzenia zmian, które chcesz wprowadzić.
Przesłanie flagi --force
jest równoważne z zaakceptowaniem wszystkich promptów.
W środowiskach nieinteraktywnych:
- bez
--force
, wprowadzane są tylko zmiany nieniszczące. Jeśli niszczycielskich zmian – interfejs wiersza poleceń przerywa działanie, nie wprowadzając żadnych zmian. - z
--force
, wszystkie zmiany zostały wprowadzone. Jeśli obejmuje to zmiany, które mogą spowodować utratę danych, zostaną one wydrukowane i pojawi się pytanie, czy chcesz kontynuować. Nie dotyczy to flagi--force
.
Polecenie | Opis | |
---|---|---|
firebase dataconnect:sql:migrate |
Flaga | Opis |
identyfikator usługi |
Przenieś bazę danych z określonej usługi. Identyfikator usługi to jeśli Twój projekt ma tylko 1 usługę. | |
–-force |
automatycznie akceptować prompty; |
Tak jak w przypadku innych flag --only
, możesz udostępniać kilka usług rozdzielonych znakami
przecinków.
Migracja schematu w trybie ścisłym lub zgodnym
Migracje schematu Data Connect mają 2 różne tryby sprawdzania poprawności schematu: ścisły i zgodny. Weryfikacja w trybie ścisłym wymaga, aby funkcja schemat bazy danych ściśle pasuje do schematu aplikacji przed aplikacją można wdrożyć schemat. Weryfikacja w trybie zgodności wymaga, aby schemat bazy danych był zgodny ze schematem aplikacji. Oznacza to, że elementy w bazie danych, których nie używa schemat aplikacji, pozostają niezmodyfikowane.
Te tryby weryfikacji schematu i sprawdzone metody migracji schematu to opisane w przewodniku po zarządzaniu schematami i oprogramowaniem sprzęgającym
Tryb sprawdzania jest definiowany za pomocą klucza schemaValidation
w pliku dataconnect.yaml
. Jeśli parametr schemaValidation
nie jest określony, interfejs wiersza poleceń stosuje zgodne zmiany i wyświetla komunikat przed wykonaniem ścisłych zmian. Zobacz
dokumentacji konfiguracji.
Polecenia pakietu SDK
Generowanie pakietów SDK
dataconnect:sdk:generate
firebase dataconnect:sdk:generate
To polecenie generuje pakiety SDK o określonych typach zadeklarowane w pliku connector.yaml.
Zapoznaj się też z przewodnikami dotyczącymi pakietów SDK na potrzeby witryn internetowych, pakietów SDK na Androida i pakietów SDK na iOS.
Polecenie | Opis | |
---|---|---|
firebase dataconnect:sdk:generate |
Flaga | Opis |
–-oglądaj |
Utrzymuje proces i generuje nowe pakiety SDK za każdym razem, gdy zapiszesz zmiany w plikach GQL schematu i złącza. Jeśli generowanie się nie uda, błędy zostaną wydrukowane jako standardowe, czyli wygenerowany kod. nie zostanie zmienione, a polecenie będzie nadal wykonywane. |
|
–-only connectorId:platform |
Generuj pakiety SDK tylko dla jednej platformy i jednego oprogramowania sprzęgającego. |
Flagi –only
umożliwiają przekazywanie wartości rozdzielanych przecinkami.
firebase dataconnect:sdk:generate –-only connector1, connector1:kotlin
Polecenia zarządzania Cloud SQL
Przyznawanie ról SQL w Cloud SQL
dataconnect:sql:grant
firebase dataconnect:sql:grant
To polecenie przyznaje rolę użytkownika PostgreSQL określonemu użytkownikowi lub kontu usługi:
- Czytnik: może odczytywać dane z tabel w schemacie.
- Zapisujący: może odczytywać tabele w schemacie i zapisywać w nich dane.
- Właściciel: może przeprowadzać migracje i zmieniać schemat. Nie obejmuje to uprawnień do instalowania rozszerzeń.
Polecenie | Opis | |
---|---|---|
firebase dataconnect:sql:grant |
Flaga/parametr | Opis |
-R, --role role |
Rola SQL do przyznania (jedna z: właściciel, zapisujący lub odczytujący). | |
-E, --email email_address |
Adres e-mail konta użytkownika lub usługi, któremu chcesz przypisać rolę. |
Opcje globalne
Te opcje globalne mają zastosowanie do wszystkich poleceń:
--json
przełącza dane wyjściowe interfejsu wiersza poleceń na JSON na potrzeby analizy przez inne narzędzia.- W razie potrzeby zastąpienia
--noninteractive
i--interactive
są automatyczne wykrywanie środowisk innych niż TTY,