تتيح لك واجهة سطر الأوامر Firebase إدارة مشاريعك على Firebase في دليل مشروع محلي يمكن التحكّم في إصداراته. ويشمل ذلك Data Connect الخدمات في مشاريعك، والموصلات الخاصة بهذه الخدمات، والموارد مثل مخطط قاعدة البيانات ومصادر طلبات البحث والتعديل لكل موصل. تتيح لك واجهة سطر الأوامر أيضًا تثبيت محاكي Firebase Data Connect وتشغيله. تمثّل واجهة سطر الأوامر بديلاً فعالاً للعمل في وحدة تحكّم Firebase.
للحصول على تعليمات حول تثبيت تجربة واجهة سطر الأوامر Firebase في إطار برنامج المعاينة الخاصة، وأوامر واجهة سطر الأوامر ذات الصلة بـ Data Connect، راجِع مرجع واجهة سطر الأوامر.
يوثّق دليل المرجع هذا ما يلي:
- إدخالات خاصة بـ Data Connect في ملف إعداد مشروع
firebase.json - إعدادات Data Connect في
dataconnect.yamlوconnector.yaml
ملفات إعداد مشروع Firebase
مرجع إعدادات firebase.json
استخدِم مفاتيح dataconnect لضبط خدمة واحدة أو أكثر من خدمات Data Connect
في مشروعك.
dataconnect: {
source: string // Path to the directory containing the dataconnect.yaml service file.
}
مرجع إعدادات dataconnect.yaml
يخزّن الملف dataconnect.yaml معلومات الضبط حول مواقع مصادر مخططات التطبيقات ومصادر الموصلات ومعلومات ربط مصادر البيانات. يعمل الملف أيضًا كمعرّف لدليل المشروع في واجهة سطر الأوامر Firebase.
يتحكّم المفتاح schemaValidation في مستوى التحقّق من صحة المخطط الذي يتم تنفيذه
عند نقل المخططات أثناء عملية النشر. في حال عدم ضبط أي قيمة، يكون سلوك الأمر dataconect:sql:migrate هو تطبيق التغييرات المتوافقة وإعلامك قبل تنفيذ أي تغييرات صارمة. عند ضبط هذا الخيار، يكون السلوك على النحو التالي:
- وضع
STRICTيجب أن يتطابق مخطط قاعدة البيانات تمامًا مع مخطط التطبيق قبل أن يتم نشر مخطط التطبيق. سيتم حذف أي جداول أو أعمدة غير مستخدَمة في مخطط Data Connect من قاعدة البيانات. - وضع
COMPATIBLEيجب أن يكون مخطط قاعدة البيانات متوافقًا مع مخطط التطبيق قبل أن يتم نشر مخطط التطبيق، ويُعدّ أي تغيير إضافي اختياريًا. تعني كلمة "متوافق" أنّ عمليات نقل البيانات الخاصة بالمخطط تستند إلى مخطط التطبيق الذي تكتبه. تُترك العناصر في قاعدة البيانات التي لا يستخدمها مخطط التطبيق بدون تعديل. لذلك، بعد النشر، قد يحتوي الخلفية على مخططات وجداول وأعمدة غير مستخدَمة.
يتم توضيح قيم المفاتيح الأخرى في هذا الملف في التعليقات أدناه.
# The top-level Firebase Data Connect YAML file.
# The Firebase Data Connect API version to target.
# Optional. Defaults to the latest version.
specVersion: string
# The ID of the Firebase Data Connect service resource.
# Required.
serviceId: string
# The location of the Firebase Data Connect service.
# Required.
location: string
# Required.
schema:
# Relative path to directory for schema definitions.
# Recursively loads all .gql files in this directory.
# Optional. If not present, defaults to ./schema.
source: string
# Datasource connection information.
# Required.
datasource:
# Required.
postgresql:
# The name of the PostgreSQL database.
# Required.
database: string
cloudSql:
# The ID of the CloudSQL instance resource.
# Required.
instanceId: string
# Schema validation mode for schema migrations.
# Defaults to unspecified/commented out, meaning you are prompted to
# review all changes during migration.
# If desired, uncomment and indicate one of "STRICT" or "COMPATIBLE".
schemaValidation: string
# Required.
# Relative paths to directories for connector definitions.
# Recursively loads all .gql files in the listed directories.
# All directories specified MUST contain a connector.yaml file.
connectorDirs: [string]
يفترض ملف YAML بنية دليل تلقائية (قابلة للإعداد) على النحو التالي:
./(project root)
/dataconnect
dataconnect.yaml
/schema
*.gql
/example
connector.yaml
*.gql
مرجع إعدادات connector.yaml
استخدِم connector.yaml لضبط وضع المصادقة التلقائي وخيارات إنشاء حزمة تطوير البرامج (SDK).
# The connector-level YAML file.
# Required. The connector name of the Firebase Data Connect connector resource.
connectorId: string
# Optional. If not specified, no generated libraries (i.e. type-safe SDKs) will be generated.
generate:
# Optional.
javascriptSdk:
# Path to the directory that will be updated with the latest generated
# web TypeScript SDK.
# Required.
- outputDir: string
# Name of the Javascript package to be created.
# Required. Recommend @dataconnect/generated
- package: string
# Path to your package.json directory. If specified, the new generated sdk will be installed in this path.
# Optional. If not provided, the package will not be auto-installed for you.
- packageJsonDir: string
# Enable React framework bindings.
# Optional. Default to false.
- react: Boolean
# Enable Angular framework bindings.
# Optional. Default to false.
- angular: Boolean
# Optional.
dartSdk:
# Path to the directory that will be updated with the latest generated
# Flutter Dart SDK.
# Required.
- outputDir: string
# Name of the dart package to be created.
# Required. Recommend dataconnect_generated
- package: string
# Optional.
kotlinSdk:
# Path to the directory that will be updated with the latest generated
# Android SDK.
# Required.
outputDir: string
# Name of the package to be created.
# Required.
package: string
# Optional.
adminNodeSdk:
# Path to the directory that will be updated with the latest generated
# Node Admin SDK.
# Required.
outputDir: string
# Path to your package.json directory. If specified, the new generated sdk will be installed in this path.
# Optional. If not provided, the package will not be auto-installed for you.
packageJsonDir: string
# Name of the package to be created (for example: @firebasegen-admin/generated).
# Required.
package: string
# Optional.
swiftSdk:
# Path to the directory that will be updated with the latest generated
# iOS Swift SDK.
# Required.
- outputDir: string
# Name of the dart package to be created.
# Required. Recommend dataconnect_generated
- package: string