L'interfaccia a riga di comando di Firebase è uno strumento che ti consente di gestire e configurare Firebase e servizi dalla riga di comando.
La CLI fornisce comandi che possono essere utilizzati per eseguire una serie di attività di Data Connect, ad esempio creare un nuovo progetto Data Connect, inizializzare una directory di lavoro locale corrispondente, configurare l'emulatore Data Connect, elencare le risorse Data Connect, generare SDK client e altro ancora.
Comandi di configurazione
Aggiungere Data Connect a un progetto Firebase
init Firebase
Utilizza firebase init
per configurare una nuova configurazione del progetto locale. Questo flusso di lavoro
crea o aggiorna i file di configurazione di Firebase nella
directory.
firebase init
Il flusso firebase init
ti guida nella configurazione di un servizio e di un database, nonché, facoltativamente, nell'installazione dell'emulatore Data Connect e nella configurazione degli SDK generati.
Configurazione del servizio e del database
Se selezioni dataconnect
per la configurazione del prodotto, l'interfaccia a riga di comando ti chiede un nuovo nome e una nuova posizione del servizio e se collegare un'istanza Cloud SQL per PostgreSQL esistente o crearne una nuova.
Se un'istanza esistente è collegata, l'interfaccia a riga di comando controlla le impostazioni compatibili, come come autenticazione IAM e indirizzi IP pubblici.
Configurazione di Local Emulator Suite
Il flusso dell'interfaccia a riga di comando offre la possibilità di configurare gli emulatori, incluso l'emulatore Data Connect.
Data Connect comandi dell'emulatore
Avvia l'emulatore Data Connect
emulators:start/exec
firebase emulators:start/exec
Utilizza la versione Local Emulator Suite dell'emulatore Data Connect
in modalità interattiva con start
o in modalità non interattiva basata su script con
exec
.
Comandi per la gestione di schemi e connettori
Questa sezione contiene informazioni di riferimento della CLI per i comandi utilizzati per gestire schemi e connettori.
Per casi d'uso e best practice consigliate relativi a questi comandi, consulta la guida alla gestione di schemi e connettori.
Esegui il deployment delle risorse di schema e connettore
deployment
firebase deploy
Questo comando esegue il deployment delle risorse per i servizi Data Connect indicizzati in firebase.json. Una migrazione dello schema viene eseguita se necessario.
Comando | Descrizione | |
---|---|---|
firebase deploy |
Bandiera | Descrizione |
- solo dataconnect |
Esegui il deployment di schemi e connettori per tutti i servizi Data Connect senza però eseguire il deployment di altre risorse del prodotto Firebase. | |
–-only dataconnect:serviceId |
Esegui il deployment dello schema e dei connettori per il servizio Data Connect specificato. | |
–-only dataconnect:serviceId:connectorId |
Esegui il deployment di un singolo connettore per il servizio Data Connect specificato. | |
–-only dataconnect:serviceId:schema |
Esegui il deployment dello schema per il servizio Data Connect specificato. |
Con i flag –-only
, puoi passare valori separati da virgole per eseguire il deployment di qualsiasi sottoinsieme di risorse.
firebase deploy --only dataconnect:service1:schema,dataconnect:service2
Elenco servizi, schemi e connettori di Data Connect
dataconnect:services:list
firebase dataconnect:services:list
Questo comando stampa informazioni di base su servizi, schemi e connettori impiegati in un progetto.
Confronta ed esegui la migrazione degli schemi SQL
dataconnect:sql:diff
firebase dataconnect:sql:diff
Questo comando confronta lo schema locale di un servizio con lo schema attuale dell'elemento corrispondente al database Cloud SQL. Stampa i comandi che verranno eseguiti per eseguire la migrazione del database al nuovo schema.
Comando | Descrizione | |
---|---|---|
firebase dataconnect:sql:diff |
Flag/parametro | Descrizione |
serviceId |
Specifica il servizio. Se omesso, stampa il diff per tutti i servizi in firebase.json. |
dataconnect:sql:migrate
firebase dataconnect:sql:migrate
Questo comando applica le modifiche dello schema locale al database Cloud SQL di un servizio.
Quando configuri un nuovo progetto Data Connect locale, con il valore predefinito
dataconnect.yaml
, il comportamento del comando dataconect:sql:migrate
prevede le eventuali modifiche obbligatorie e
le eventuali modifiche facoltative,
modifiche prima di applicarle. Puoi modificare questo comportamento in modo da includere o ignorare sempre le modifiche facoltative aggiornando la configurazione di dataconnect.yaml
, come descritto in Eseguire la migrazione di uno schema in modalità rigorosa o compatibile.
In ambienti interattivi, l'interfaccia a riga di comando mostra ogni istruzione SQL di migrazione
(e se sono distruttivi) e ti chiede le modifiche da applicare.
Il superamento del flag --force
equivale ad accettare tutti i prompt.
In ambienti non interattivi:
- senza
--force
, vengono apportate solo modifiche non distruttive. Se ci sono modifiche distruttive, l'interfaccia a riga di comando si interrompe senza apportare modifiche. - con
--force
, vengono apportate tutte le modifiche. Se sono presenti elementi distruttivi modifiche, vengono stampate e viene richiesto se si desidera continuare. a meno che non venga fornito il flag--force
.
Comando | Descrizione | |
---|---|---|
firebase dataconnect:sql:migrate |
Bandiera | Descrizione |
serviceId |
Esegui la migrazione del database per il servizio specificato. Il valore serviceId viene ricavato se il progetto ha un solo servizio. | |
–-force |
Accettare automaticamente i prompt. |
Come per altri flag --only
, puoi fornire più servizi separati da virgole.
Eseguire la migrazione di uno schema in modalità rigorosa o compatibile
Le migrazioni dello schema Data Connect hanno due diverse modalità di convalida dello schema: rigorosa e compatibile. La convalida in modalità rigorosa richiede che lo schema del database corrisponda esattamente allo schema dell'applicazione prima che lo schema dell'applicazione possa essere implementato. La convalida della modalità compatibile richiede che il database essere compatibile con quello dell'applicazione, vale a dire che gli elementi nel tuo non utilizzati dallo schema dell'applicazione non vengono modificati.
Queste modalità di convalida dello schema e le best practice per la migrazione dello schema sono descritti nella guida alla gestione di schemi e connettori
La modalità di convalida è definita utilizzando la chiave schemaValidation
nel
dataconnect.yaml
file. Se schemaValidation
non è specificato, l'interfaccia a riga di comando si applica
compatibili e ti invia un messaggio prima di eseguire modifiche rigide. Consulta:
consulta il riferimento di configurazione.
Comandi SDK
Genera SDK
dataconnect:sdk:generate
firebase dataconnect:sdk:generate
Questo comando genera gli SDK digitati dichiarati in connector.yaml.
Consulta anche le guide per l'utilizzo degli SDK web, degli SDK Android e degli SDK iOS.
Comando | Descrizione | |
---|---|---|
firebase dataconnect:sdk:generate |
Bandiera | Descrizione |
–-watch |
Mantiene in esecuzione il processo e genera nuovi SDK ogni volta che salvi
le modifiche ai file GQL di schema e connettore. Se la generazione non riesce, gli errori verranno stampati su stdout, il codice generato non verrà modificato e il comando continuerà a essere eseguito. |
|
–-only connectorId:platform |
Generare SDK solo per una singola piattaforma e un singolo connettore. |
Con i flag –only
, puoi passare valori separati da virgole.
firebase dataconnect:sdk:generate –-only connector1, connector1:kotlin
Comandi di gestione di Cloud SQL
Concedi i ruoli SQL per Cloud SQL
dataconnect:sql:grant
firebase dataconnect:sql:grant
Questo comando concede un ruolo utente PostgreSQL all'account utente o di servizio specificato:
- Lettore: può leggere dalle tabelle dello schema.
- Writer: può leggere e scrivere nelle tabelle dello schema.
- Proprietario: può eseguire migrazioni e modificare lo schema. Non è inclusa l'autorizzazione per installare estensioni.
Comando | Descrizione | |
---|---|---|
Firebase dataconnect:sql:grant |
Flag/parametro | Descrizione |
-R, --role ruolo |
Il ruolo SQL da concedere, uno dei seguenti: proprietario, autore o lettore. | |
-E, --email email_address |
Email per un account utente o di servizio a cui concedere il ruolo. |
Opzioni globali
Le seguenti opzioni globali si applicano a tutti i comandi:
--json
imposta l'output della CLI su JSON per l'analisi da parte di altri strumenti.--noninteractive
e--interactive
sostituiscono, se necessario, il rilevamento automatico degli ambienti non TTY.