Referensi perintah Firebase CLI untuk Data Connect

CLI Firebase adalah alat yang memungkinkan Anda mengelola dan mengonfigurasi produk dan layanan Firebase dari command line.

CLI menyediakan perintah yang dapat digunakan untuk melakukan berbagai tugas Data Connect, seperti membuat project Data Connect baru, menginisialisasi direktori kerja lokal yang sesuai, menyiapkan emulator Data Connect, mencantumkan resource Data Connect, membuat SDK klien, dan lainnya.

Perintah penyiapan

Menambahkan Data Connect ke project Firebase

firebase init

Gunakan firebase init untuk menyiapkan konfigurasi project lokal baru. Alur kerja ini membuat atau memperbarui file konfigurasi Firebase di direktori Anda.

firebase init

Alur firebase init akan memandu Anda menyiapkan layanan dan database, dan secara opsional menginstal emulator Data Connect dan mengonfigurasi SDK yang dihasilkan.

Penyiapan layanan dan database

Jika Anda memilih dataconnect untuk penyiapan produk, CLI akan meminta Anda untuk memasukkan nama dan lokasi layanan baru, serta apakah akan menautkan instance Cloud SQL untuk PostgreSQL yang ada atau membuat instance baru.

Jika instance yang ada ditautkan, CLI akan memeriksa setelan yang kompatibel, seperti autentikasi IAM dan alamat IP publik.

Penyiapan Local Emulator Suite

Alur CLI menawarkan untuk menyiapkan emulator, termasuk emulator Data Connect.

Perintah emulator Data Connect

Memulai emulator Data Connect

emulators:start/exec

firebase emulators:start/exec

Gunakan emulator Data Connect versi Local Emulator Suite dalam mode interaktif dengan start atau mode non-interaktif yang dijalankan oleh skrip dengan exec.

Perintah pengelolaan skema dan konektor

Bagian ini berisi informasi referensi CLI untuk perintah yang Anda gunakan guna mengelola skema dan konektor.

Untuk mengetahui cara menggunakan kasus dan praktik yang direkomendasikan terkait perintah ini, lihat panduan pengelolaan skema dan konektor.

Men-deploy resource skema dan konektor

deploy

firebase deploy

Perintah ini men-deploy resource untuk layanan Data Connect yang diindeks di firebase.json. Migrasi skema dilakukan jika diperlukan.

Perintah Deskripsi

firebase deploy

Flag Deskripsi

–-only dataconnect

Deploy skema dan konektor untuk semua layanan Data Connect untuk project ini, tetapi jangan deploy resource produk Firebase lainnya.

–-only dataconnect:serviceId

Men-deploy skema dan konektor untuk layanan Data Connect yang ditentukan.

–-only dataconnect:serviceId:connectorId

Men-deploy satu konektor untuk layanan Data Connect yang ditentukan.

–-only dataconnect:serviceId:schema

Deploy skema untuk layanan Data Connect yang ditentukan.

Dengan flag –-only, Anda dapat meneruskan nilai yang dipisahkan koma untuk men-deploy subset resource yang Anda inginkan.

firebase deploy --only dataconnect:service1:schema,dataconnect:service2

Mencantumkan layanan, skema, dan konektor Data Connect

dataconnect:services:list

firebase dataconnect:services:list

Perintah ini mencetak info dasar tentang layanan, skema, dan konektor yang di-deploy di project.

Membandingkan dan memigrasikan skema SQL

dataconnect:sql:diff

firebase dataconnect:sql:diff

Perintah ini membandingkan skema lokal untuk layanan dengan skema saat ini dari database Cloud SQL yang sesuai. Perintah ini akan mencetak perintah yang akan dijalankan untuk memigrasikan database ke skema baru Anda.

Perintah Deskripsi

firebase dataconnect:sql:diff

Flag/Parameter Deskripsi

serviceId

Tentukan layanan. Jika dihilangkan, cetak perbedaan untuk semua layanan di firebase.json.

dataconnect:sql:migrate

firebase dataconnect:sql:migrate

Perintah ini menerapkan perubahan skema lokal ke database Cloud SQL layanan.

Saat Anda menyiapkan project Data Connect lokal baru, dengan file dataconnect.yaml default, perilaku perintah dataconect:sql:migrate adalah meminta Anda untuk melakukan perubahan yang diperlukan, lalu meminta perubahan opsional, sebelum menjalankan perubahan. Anda dapat mengubah perilaku ini agar selalu menyertakan atau mengabaikan perubahan opsional dengan memperbarui konfigurasi dataconnect.yaml, seperti yang dibahas dalam memigrasikan skema dalam mode ketat atau kompatibel

Dalam lingkungan interaktif, CLI menampilkan setiap pernyataan SQL migrasi (dan apakah pernyataan tersebut bersifat destruktif) dan meminta perubahan yang ingin Anda terapkan. Meneruskan flag --force setara dengan menerima semua perintah.

Di lingkungan noninteraktif:

  • tanpa --force, hanya perubahan yang tidak merusak yang dilakukan. Jika ada perubahan destruktif, CLI akan dibatalkan tanpa perubahan apa pun.
  • dengan --force, semua perubahan akan dibuat. Jika perubahan ini mencakup perubahan destruktif, perubahan tersebut akan dicetak dan Anda akan diminta apakah ingin melanjutkan, kecuali jika flag --force diberikan.
Perintah Deskripsi

firebase dataconnect:sql:migrate

Flag Deskripsi

serviceId

Memigrasikan database untuk layanan yang ditentukan. serviceId disimpulkan jika project Anda hanya memiliki satu layanan.

–-force

Menyetujui perintah secara otomatis.

Seperti flag --only lainnya, Anda dapat menyediakan beberapa layanan yang dipisahkan dengan koma.

Memigrasikan skema dalam mode ketat atau kompatibel

Migrasi skema Data Connect memiliki dua mode validasi skema yang berbeda: ketat dan kompatibel. Validasi mode ketat mengharuskan skema database sama persis dengan skema aplikasi sebelum skema aplikasi dapat di-deploy. Validasi mode yang kompatibel mengharuskan skema database kompatibel dengan skema aplikasi, yang berarti elemen dalam database Anda yang tidak digunakan oleh skema aplikasi tidak akan diubah.

Mode validasi skema dan praktik terbaik untuk migrasi skema ini tercakup dalam panduan pengelolaan skema dan konektor

Mode validasi ditentukan menggunakan kunci schemaValidation dalam file dataconnect.yaml. Jika schemaValidation tidak ditentukan, CLI akan menerapkan perubahan yang kompatibel dan meminta Anda sebelum menjalankan perubahan ketat apa pun. Lihat referensi konfigurasi.

Perintah SDK

Membuat SDK

dataconnect:sdk:generate

firebase dataconnect:sdk:generate

Perintah ini menghasilkan SDK berjenis yang dideklarasikan di connector.yaml.

Lihat juga panduan untuk menggunakan SDK web, SDK Android, dan SDK iOS.

Perintah Deskripsi

firebase dataconnect:sdk:generate

Flag Deskripsi

–-watch

Memastikan proses tetap berjalan dan menghasilkan SDK baru setiap kali Anda menyimpan perubahan pada skema dan file GQL konektor.

Jika pembuatan gagal, error akan dicetak ke stdout, kode yang dihasilkan tidak akan diubah, dan perintah akan terus berjalan.

–-only connectorId:platform

Hanya buat SDK untuk satu platform dan satu konektor.

Dengan flag –only, Anda dapat meneruskan nilai yang dipisahkan koma.

firebase dataconnect:sdk:generate –-only connector1, connector1:kotlin

Perintah pengelolaan Cloud SQL

Memberikan peran SQL untuk Cloud SQL

dataconnect:sql:grant

firebase dataconnect:sql:grant

Data Connect beroperasi di atas instance PostgreSQL Anda sendiri yang dihosting di Cloud SQL. Dalam beberapa kasus, Anda mungkin ingin mengakses database secara langsung untuk membuat kueri atau memperbarui data yang dihasilkan oleh aplikasi Data Connect. Untuk melakukannya, Anda harus memberikan salah satu peran yang ditentukan di bagian ini kepada pengguna atau akun layanan yang diperlukan.

Untuk mengetahui detail peran yang diberikan, lihat Peran pengguna PostgreSQL.

Peran Peran SQL Izin Penggunaan Dapat diberikan
pembaca firebasereader_<db_name>_<schema_name> Akses baca saja ke database.

Dapat melakukan operasi SELECT pada semua tabel dalam skema yang ditentukan.
Ideal untuk pengguna atau layanan yang memerlukan pengambilan data, tetapi tidak memerlukan perubahan. Ya
penulis firebasewriter_<db_name>_<schema_name> Akses baca dan tulis ke database.

Dapat melakukan operasi SELECT, INSERT, UPDATE, DELETE, dan TRUNCATE pada semua tabel dalam skema.
Cocok untuk pengguna atau layanan yang perlu mengubah data dalam database. Ya
owner firebaseowner_<db_name>_<schema_name> Pemilik skema.

Memiliki semua hak istimewa di semua tabel dan urutan dalam skema.
Peran ini, yang dikombinasikan dengan peran roles/cloudsql.client IAM, memberikan izin untuk melakukan migrasi di database.

Misalnya, saat memanggil firebase dataconnect:sql:migrate.
Ya
superuser cloudsqlsuperuser Peran superuser bawaan dengan hak istimewa penuh di database.

Selain izin pemilik, peran ini dapat membuat skema, menghapus skema, menginstal ekstensi, dan melakukan tugas administratif lainnya.

Diakses di CLI dengan login sebagai "firebasesuperuser".
Diperlukan untuk menginstal ekstensi, membuat skema awal, dan memberikan peran SQL yang dapat diberikan kepada pengguna lain.

Jika pengguna non-admin memerlukan hak istimewa superuser, migrasi akan gagal dan meminta pengguna untuk meminta administrator database (yaitu, pengguna dengan roles/cloudsql.admin) untuk menjalankan perintah SQL dengan hak istimewa.
Diberikan kepada pengguna dengan roles/cloudsql.admin dan tidak dapat diberikan langsung dari CLI Firebase
Perintah Deskripsi

firebase dataconnect:sql:grant

Flag/Parameter Deskripsi

-R, --role peran

Peran SQL yang akan diberikan, salah satu dari: pemilik, penulis, atau pembaca.

-E, --email email_address

Email untuk pengguna atau akun layanan yang akan diberi peran.

Opsi global

Opsi global berikut berlaku untuk semua perintah:

  • --json mengalihkan output CLI ke JSON untuk diuraikan oleh alat lain.
  • --noninteractive dan --interactive mengganti, sesuai kebutuhan, deteksi otomatis lingkungan non-TTY.