Firebase CLI ابزاری است که به شما امکان می دهد محصولات و خدمات Firebase را از طریق خط فرمان مدیریت و پیکربندی کنید.
CLI دستوراتی را ارائه می دهد که می توانند برای انجام انواع وظایف Data Connect مانند ایجاد یک پروژه Data Connect جدید، مقداردهی اولیه یک فهرست کاری محلی مربوطه، راه اندازی شبیه ساز Data Connect ، فهرست کردن منابع Data Connect ، تولید SDK های مشتری و غیره استفاده شوند.
دستورات راه اندازی
Data Connect به پروژه Firebase اضافه کنید
firebase init
از firebase init
برای تنظیم یک پیکربندی پروژه محلی جدید استفاده کنید. این گردش کار فایل های پیکربندی Firebase را در دایرکتوری شما ایجاد یا به روز می کند.
firebase init
جریان firebase init
شما را از طریق راهاندازی یک سرویس و پایگاه داده و نصب اختیاری شبیهساز Data Connect و پیکربندی SDKهای تولید شده راهنمایی میکند.
راه اندازی سرویس و پایگاه داده
اگر dataconnect
برای راهاندازی محصول انتخاب کنید، CLI از شما میخواهد یک نام و مکان سرویس جدید و اینکه آیا Cloud SQL موجود را برای نمونه PostgreSQL پیوند دهید یا یک نمونه جدید ایجاد کنید.
اگر یک نمونه موجود پیوند داده شده باشد، CLI تنظیمات سازگار، مانند احراز هویت IAM و آدرسهای IP عمومی را بررسی میکند.
راه اندازی Local Emulator Suite
جریان CLI راه اندازی شبیه سازها، از جمله شبیه ساز Data Connect را ارائه می دهد.
دستورات شبیه ساز Data Connect
شبیه ساز Data Connect را راه اندازی کنید
شبیه سازها: start/exec
firebase emulators:start/exec
از نسخه Local Emulator Suite شبیه ساز Data Connect در حالت تعاملی با حالت start
یا غیر تعاملی مبتنی بر اسکریپت با exec
استفاده کنید.
دستورات مدیریت طرحواره و رابط
این بخش حاوی اطلاعات مرجع CLI برای دستوراتی است که برای مدیریت طرحواره ها و کانکتورها استفاده می کنید.
برای نحوه استفاده از موارد و اقدامات توصیه شده مرتبط با این دستورات، به راهنمای مدیریت طرحواره و رابط مراجعه کنید.
منابع طرحواره و رابط را مستقر کنید
استقرار
firebase deploy
این دستور منابعی را برای سرویس های Data Connect نمایه شده در firebase.json مستقر می کند. در صورت لزوم یک مهاجرت طرحواره انجام می شود.
فرمان | توضیحات | |
---|---|---|
استقرار firebase | پرچم | توضیحات |
– فقط اتصال داده | طرحوارهها و رابطها را برای همه سرویسهای Data Connect برای این پروژه مستقر کنید، اما دیگر منابع محصول Firebase را مستقر نکنید. | |
–-only dataconnect: serviceId | طرح و رابطها را برای سرویس Data Connect مشخص شده استقرار دهید. | |
–-only dataconnect:serviceId:connectorId | یک رابط واحد را برای سرویس داده اتصال مشخص شده استقرار دهید. | |
–-only dataconnect:serviceId:schema | طرح واره را برای سرویس Data Connect مشخص شده استقرار دهید. |
با پرچمهای –-only
، میتوانید مقادیر جدا شده با کاما را برای استقرار زیرمجموعهای از منابعی که میخواهید ارسال کنید.
firebase deploy --only dataconnect:service1:schema,dataconnect:service2
خدمات، طرحوارهها و رابطهای اتصال داده را فهرست کنید
dataconnect:services:list
firebase dataconnect:services:list
این دستور اطلاعات اولیه در مورد سرویس ها، طرحواره ها و رابط های مستقر در یک پروژه را چاپ می کند.
مقایسه و انتقال طرحواره های SQL
dataconnect:sql:diff
firebase dataconnect:sql:diff
این دستور شمای محلی یک سرویس را با طرح فعلی پایگاه داده Cloud SQL مربوطه مقایسه می کند. دستوراتی را که برای انتقال پایگاه داده به طرحواره جدید شما اجرا می شوند چاپ می کند.
فرمان | توضیحات | |
---|---|---|
firebase dataconnect:sql:diff | پرچم/پارامتر | توضیحات |
شناسه سرویس | سرویس را مشخص کنید. در صورت حذف، تفاوت را برای همه خدمات در firebase.json چاپ کنید. |
dataconnect:sql:migrate
firebase dataconnect:sql:migrate
این دستور تغییرات طرح واره محلی را در پایگاه داده Cloud SQL سرویس اعمال می کند.
هنگامی که یک پروژه محلی Data Connect را با فایل پیشفرض dataconnect.yaml
راهاندازی میکنید، رفتار دستور dataconect:sql:migrate
به این صورت است که هر گونه تغییر مورد نیاز را از شما میخواهد، و سپس هر تغییر اختیاری را قبل از اجرای تغییرات از شما میخواهد. . میتوانید با بهروزرسانی پیکربندی dataconnect.yaml
، این رفتار را طوری تغییر دهید که همیشه تغییرات اختیاری را شامل شود یا نادیده بگیرد، همانطور که در انتقال یک طرحواره در حالت سخت یا سازگار بحث شده است.
در محیط های تعاملی، CLI هر دستور SQL مهاجرت (و اینکه آیا مخرب است) را نمایش می دهد و تغییراتی را که می خواهید اعمال کنید را درخواست می کند. عبور از پرچم --force
معادل پذیرش همه دستورات است.
در محیط های غیر تعاملی:
- بدون
--force
فقط تغییرات غیر مخرب ایجاد می شود. اگر تغییرات مخربی وجود داشته باشد، CLI بدون هیچ تغییری سقط می شود. - با
--force
همه تغییرات انجام می شود. اگر این شامل هر گونه تغییرات مخرب باشد، آنها چاپ می شوند و از شما خواسته می شود که آیا می خواهید ادامه دهید، مگر اینکه پرچم--force
ارائه شده باشد.
فرمان | توضیحات | |
---|---|---|
firebase dataconnect:sql:migrate | پرچم | توضیحات |
شناسه سرویس | پایگاه داده را برای سرویس مشخص شده منتقل کنید. serviceId در صورتی استنباط می شود که پروژه شما فقط یک سرویس داشته باشد. | |
-- زور | به طور خودکار درخواست ها را می پذیرد. |
همانند سایر پرچمهای --only
، میتوانید چندین سرویس را ارائه دهید که با کاما از هم جدا شدهاند.
یک طرحواره را در حالت سخت یا سازگار منتقل کنید
انتقال طرحواره Data Connect دو حالت اعتبارسنجی طرحواره متفاوت دارد: سخت و سازگار . اعتبار سنجی حالت دقیق مستلزم آن است که طرح پایگاه داده دقیقاً با طرح برنامه مطابقت داشته باشد قبل از اینکه طرحواره برنامه قابل استقرار باشد. اعتبار سنجی حالت سازگار مستلزم آن است که طرح پایگاه داده با طرح برنامه سازگار باشد، به این معنی که عناصر موجود در پایگاه داده شما که توسط طرح برنامه شما استفاده نمی شوند، بدون تغییر باقی می مانند.
این حالتهای اعتبارسنجی طرحواره و بهترین روشها برای مهاجرت طرحواره در راهنمای مدیریت طرحواره و رابط پوشش داده شده است.
حالت اعتبار سنجی با استفاده از کلید schemaValidation
در فایل dataconnect.yaml
شما تعریف می شود. اگر schemaValidation
نامشخص باشد، CLI تغییرات سازگار را اعمال می کند و قبل از اجرای هر گونه تغییر سختگیرانه از شما درخواست می کند. مرجع پیکربندی را ببینید.
دستورات SDK
SDK ها را ایجاد کنید
dataconnect:sdk:generate
firebase dataconnect:sdk:generate
این دستور SDKهای تایپ شده اعلام شده در connector.yaml را تولید می کند.
همچنین به راهنماهای کار با وب SDK ، Android SDK و iOS SDK مراجعه کنید.
فرمان | توضیحات | |
---|---|---|
firebase dataconnect:sdk:generate | پرچم | توضیحات |
--- تماشا کنید | هر زمان که تغییرات را در فایل های GQL طرحواره و رابط خود ذخیره می کنید، فرآیند را در حال اجرا نگه می دارد و SDK های جدید تولید می کند. اگر تولید ناموفق باشد، خطاها در stdout چاپ میشوند، کد تولید شده تغییر نمیکند و دستور به اجرا ادامه میدهد. | |
–-only connectorId:platform | فقط برای یک پلتفرم و یک کانکتور SDK تولید کنید. |
با پرچم های –only
، می توانید مقادیر جدا شده با کاما را ارسال کنید.
firebase dataconnect:sdk:generate –-only connector1, connector1:kotlin
دستورات مدیریت ابر SQL
نقش های SQL را برای Cloud SQL اعطا کنید
dataconnect:sql:grant
firebase dataconnect:sql:grant
Data Connect در بالای نمونه PostgreSQL شما که در Cloud SQL میزبانی شده است، عمل می کند. در برخی موارد، ممکن است بخواهید مستقیماً به پایگاه داده خود دسترسی داشته باشید تا داده های تولید شده توسط برنامه های Data Connect خود را پرس و جو یا به روز کنید. برای انجام این کار، باید یکی از نقش های تعریف شده در این بخش را به حساب کاربری یا سرویس مورد نیاز اعطا کنید.
برای جزئیات بیشتر در مورد نقش های اعطا شده، به نقش های کاربر PostgreSQL مراجعه کنید.
نقش | نقش SQL | مجوزها | استفاده | قابل اعطا |
---|---|---|---|---|
خواننده | firebasereader_<db_name>_<schema_name> | دسترسی فقط خواندنی به پایگاه داده می تواند عملیات SELECT را در تمام جداول در طرحواره مشخص شده انجام دهد. | ایده آل برای کاربران یا خدماتی که نیاز به بازیابی داده ها دارند اما اصلاح نمی شوند. | بله |
نویسنده | firebasewriter_<db_name>_<schema_name> | خواندن و نوشتن دسترسی به پایگاه داده. می تواند عملیات SELECT ، INSERT ، UPDATE ، DELETE و TRUNCATE را در تمام جداول داخل طرح انجام دهد. | مناسب برای کاربران یا سرویس هایی که نیاز به تغییر داده ها در پایگاه داده دارند. | بله |
مالک | firebaseowner_<db_name>_<schema_name> | صاحب طرحواره. دارای تمام امتیازات در تمام جداول و توالی های موجود در طرحواره. | این نقش، در ترکیب نقش IAM roles/cloudsql.client ، اجازه انجام مهاجرت در پایگاه داده را می دهد.به عنوان مثال، هنگام فراخوانی firebase dataconnect:sql:migrate . | بله |
ابر کاربر | cloudsqlsuperuser | نقش سوپرکاربر داخلی با امتیازات کامل در پایگاه داده. علاوه بر مجوزهای مالک، میتواند طرحواره ایجاد کند، طرحوارهها را رها کند، برنامههای افزودنی را نصب کند، و هر کار اداری دیگری را انجام دهد. با ورود به عنوان "firebasesuperuser" در CLI قابل دسترسی است. | برای نصب برنامههای افزودنی، ایجاد طرح اولیه، و اعطای هر یک از نقشهای SQL قابل اعطای به سایر کاربران مورد نیاز است. اگر یک کاربر غیر ادمین به امتیازات superuser نیاز داشته باشد، انتقال ناموفق خواهد بود و از کاربر می خواهد که از مدیر پایگاه داده (به عنوان مثال، کاربری با roles/cloudsql.admin ) بخواهد دستورات SQL ممتاز را اجرا کند. | به کاربران دارای roles/cloudsql.admin اعطا می شود و نمی توان مستقیماً از Firebase CLI اعطا کرد |
فرمان | توضیحات | |
---|---|---|
firebase dataconnect:sql:grant | پرچم/پارامتر | توضیحات |
-R، -نقش نقش | نقش SQL برای اعطا، یکی از: مالک، نویسنده یا خواننده. | |
-E، --email_address | ایمیل برای یک حساب کاربری یا سرویس که میتوانید نقش را به آن اعطا کنید. |
گزینه های جهانی
گزینه های جهانی زیر برای همه دستورات اعمال می شود:
-
--json
خروجی CLI را برای تجزیه توسط ابزارهای دیگر به JSON تغییر می دهد. -
--noninteractive
و--interactive
در صورت نیاز، شناسایی خودکار محیط های غیر TTY را لغو می کند.