في هذه البداية السريعة، ستتعلم كيفية:
- أضِف Firebase Data Connect إلى مشروعك في Firebase.
- إعداد بيئة تطوير، بما في ذلك أداة Visual Studio إضافة رمز للعمل مع مثيل إنتاج.
- ثم سنوضح لك كيفية:
- أنشِئ مخططًا لتطبيق بريد إلكتروني وانشره في قناة الإصدار العلني.
- حدِّد طلبات البحث والتغييرات لمخطّطك.
- انشر النموذج الأوّلي النهائي الخاص بك للإنتاج.
المتطلبات الأساسية
لاستخدام هذا البدء السريع، ستحتاج إلى ما يلي.
- Linux أو macOS أو Windows
- رمز Visual Studio
الربط بمشروعك على Firebase
- أنشئ مشروعًا على Firebase إذا لم يسبق لك إجراء ذلك.
- في وحدة تحكُّم Firebase، انقر على أضِف مشروعًا، ثم اتّبِع التعليمات الظاهرة على الشاشة.
عليك ترقية مشروعك إلى خطة Blaze. يتيح لك ذلك إنشاء Cloud SQL لمثيل PostgreSQL.
الانتقال إلى القسم "Data Connect" في وحدة التحكّم Firebase واتباع سير عمل إعداد المنتج.
اختَر موقعًا لقاعدة بيانات CloudSQL for PostgreSQL.
دوّن أسماء ومعرفات المشروع والخدمة وقاعدة البيانات للتأكيد لاحقًا.
اتّبِع خطوات عملية الإعداد المتبقية، ثم انقر على تم.
اختيار بيئة تطوير وإعدادها
يدعم Data Connect تجربتي تطوير لإعداد النماذج الأولية:
- إذا كنت مطوّر برامج Kotlin لنظام التشغيل Android أو iOS أو الويب، يمكنك استخدام تطوير رمز VS لوضع نماذج أوّلية للمخططات والعمليات محليًا مع الاتصال بـ Cloud SQL لمثيل PostgreSQL.
- إذا كنت مطوّر برامج على الويب، يمكنك استخدام أداة IDX Development لإنشاء نموذج أولي في مساحة عمل IDX باستخدام نموذج IDX تم إعداده مسبقًا مع PostgreSQL، إضافة VS Code مع المحاكي Data Connect ورمز التشغيل السريع إعداده لك. ستجد المزيد من المعلومات في موقع Project IDX الإلكتروني
تركز هذه البداية السريعة على عملية تطوير إضافة VS Code. للمتابعة، يُرجى اتّباع الخطوات التالية:
- أنشِئ دليلاً جديدًا لمشروعك على الجهاز.
- افتح رمز VS في الدليل الجديد.
نزِّل الإضافة المجمَّعة كحزمة VSIX من مساحة تخزين Firebase.
في رمز VS، اختَر الإضافات من القائمة عرض.
في شريط عناوين لوحة الإضافات، انقر على رمز القائمة. more_horiz، ثم متابعة التثبيت من VSIX...
اختياريًا، يمكنك تثبيت قاعدة بيانات PostgreSQL محلية للتطوير المحلي. باستخدام محاكي Data Connect. يتم تناول هذا الإعداد في نهاية دليل البدء السريع هذا.
إعداد مشروعك على الجهاز
ثبِّت واجهة سطر الأوامر باتّباع التعليمات العادية. إذا كان لديك npm مثبت بالفعل، قم بتشغيل الأمر التالي:
npm install -g firebase-tools
إعداد دليل مشروعك
لإعداد مشروعك على الجهاز، عليك إعداد دليل مشروعك.
في اللوحة اليمنى لرمز VS، انقر على رمز Firebase لفتح Firebase VS. واجهة مستخدم إضافة الرمز
في واجهة مستخدم إضافة Firebase:
- تأكَّد من أنّك سجّلت الدخول.
- انقر على الزر تشغيل firebase init.
- تحقَّق من علامة التبويب Terminal في اللوحة السفلية لرمز VS لمعرفة الطلبات.
- اختَر Data Connect كميزة لاستخدامها في هذا الدليل.
- عندما يُطلب منك، قم بتوفير معرفات المشروع والخدمة وقاعدة البيانات الخاصة مشروع واحد (Data Connect) أنشأته سابقًا في وحدة التحكّم
إنشاء مخطط
في دليل مشروع Firebase، في ملف /dataconnect/schema/schema.gql
، ابدأ في تحديد مخطّط GraphQL الذي يتضمّن المستخدمين والرسائل الإلكترونية.
مستخدم
في Data Connect، يتم ربط حقول GraphQL بالأعمدة. لدى المستخدمين
uid
وname
والبريد الإلكتروني address
يتعرّف Data Connect على عدّة طلبات.
نوعا البيانات الأساسية: String
وDate
.
انسخ المقتطف التالي أو ألغِ تعليق الأسطر المقابلة في الملف.
# File `/dataconnect/schema/schema.gql`
type User @table(key: "uid") {
uid: String!
name: String!
address: String!
}
سيضيف Firebase Data Connect تلقائيًا مفتاح المعرّف الفريد العالمي (UUID) id
في حال لم يكن متوفّرًا.
المقدمة. ولكنك في هذه الحالة تريد أن يكون uid
هو المفتاح الأساسي، وهو
التي يمكنك القيام بها من خلال التوجيه @table(key: "uid")
.
البريد الإلكتروني
الآن بعد أن أصبح لديك مستخدمون، يمكنك تصميم نماذج للرسائل الإلكترونية. هنا يمكنك إضافة النموذج حقول (أو أعمدة) لبيانات البريد الإلكتروني. هذه المرة، نتجاهل إضافة مفتاح أساسي لأنه يمكنك الاعتماد على Data Connect لإدارته.
# File `/dataconnect/schema/schema.gql`
type Email @table {
subject: String!
sent: Date!
text: String!
from: User!
}
يُرجى العلم أنّ الحقل from
مرتبط بنوع من User
.
تدرك "Data Connect" أنّ هذه علاقة بين Email
.
و"User
" وأنّنا سندير هذه العلاقة بالنيابة عنك.
نشر المخطط في قناة الإصدار العلني
إذا كنت تستخدم إضافة Firebase VS Code للعمل مع بقاعدة بيانات الإنتاج، فستحتاج إلى نشر مخططك قبل المتابعة. بعد بنشر المخطط في قاعدة بيانات الإنتاج، ينبغي أن تتمكن من عرض المخطط على وحدة التحكم.
- يمكنك استخدام إضافة Firebase VS Code لنشرها.
- في واجهة مستخدم الإضافة، ضمن لوحة Firebase Data Connect، انقر على نشر
- قد تحتاج إلى مراجعة تغييرات المخطط والموافقة على هذه التغييرات التي يُحتمل أن تكون مدمرة.
والتعديلات. سيُطلب منك تنفيذ ما يلي:
- مراجعة تغييرات المخطط باستخدام "
firebase dataconnect:sql:diff
" - عندما تكون راضيًا عن التغييرات، قم بتطبيقها باستخدام التدفق الذي بدأ
firebase dataconnect:sql:migrate
- مراجعة تغييرات المخطط باستخدام "
إضافة بيانات إلى جداولك
في لوحة محرر VS Code، يمكنك رؤية أزرار CodeLens تظهر فوق
أنواع GraphQL في /dataconnect/schema/schema.gql
. نظرًا لأنك قمت بنشر
في مرحلة الإنتاج، يمكنك استخدام الزرّين إضافة بيانات والتشغيل (مرحلة الإنتاج)
تضيف الأزرار بيانات إلى قاعدة البيانات الخاصة بك في الخلفية.
لإضافة سجلّات إلى الجدولَين User
وEmail
:
- في
schema.gql
، انقر على الزر إضافة بيانات أعلى النوعUser
.
. - في ملف
User_insert.gql
الذي يتم إنشاؤه، ستظهر بيانات الرموز البرمجية الثابتة ثلاثة حقول. - انقر على الزر تشغيل (الإصدار العلني).
- كرِّر الخطوات السابقة لإضافة سجلّ إلى جدول
Email
مع توفيرuid
للمستخدم في الحقلfromUid
، كما هو موضح في النموذج الذي تم إنشاؤه تغيُّرEmail_insert
تحديد طلب البحث
الآن الجزء الممتع، الاستعلامات. بصفتك مطورًا، فأنت معتاد على كتابة SQL بدلاً من استعلامات GraphQL، لذا قد يبدو ذلك مختلفًا بعض الشيء في البداية. ومع ذلك، فإن GraphQL أكثر بساطة وأمانًا من لغة الاستعلامات المركبة (SQL). ورمز VS الخاص بنا على تسهيل تجربة التطوير.
ابدأ تعديل ملف /dataconnect/default-connector/queries.gql
. إذا أردت
للحصول على جميع رسائل البريد الإلكتروني، استخدِم استعلامًا كهذا.
# File `/dataconnect/default-connector/queries.gql`
query ListEmails @auth(level: NO_ACCESS) {
emails {
id, subject, text, sent
from {
name
}
}
}
نفِّذ الاستعلام باستخدام زر CodeLens القريب.
وهناك ميزة رائعة حقًا هنا وهي القدرة على معالجة قواعد البيانات
العلاقات مثل الرسم البياني. بما أنّ الرسالة الإلكترونية تتضمّن حقل from
يشير إلى
أيها المستخدم، يمكنك الدخول في الحقل والحصول على معلومات حول المستخدم مرة أخرى.
نشر المخطط والطلب في مرحلة الإنتاج
لقد عملت من خلال تكرار تطويري. الآن يمكنك نشر المخطط والبيانات وطلبات البحث إلى الخادم باستخدام Firebase واجهة المستخدم للإضافة أو Firebase CLI، تمامًا كما فعلت مع المخطط.
إذا كنت تستخدم إضافة Firebase VS Code للنشر، انقر على Deploy all (نشر الكل). .
بعد نشر التطبيق، من المفترض أن يصبح بإمكانك الاطّلاع على عملياتك وإدارتها على وحدة التحكّم. كذلك. ستصبح خدمة Data Connect جاهزة لمعالجة العمليات. من العملاء. سيتم تحديث مثيل Cloud SQL لمثيل PostgreSQL باستخدام والمخطط النهائي والبيانات المنشأة.
(اختياري) تثبيت PostgreSQL على الجهاز
يتيح لك تثبيت PostgreSQL محليًا ودمجه مع المحاكي الأولية في بيئة تطوير محلية بالكامل.
يمكنك تثبيت مثيل جديد من PostgreSQL أو استخدام مثيل حالي.
تثبيت PostgreSQL
ثبِّت الإصدار 15.x من PostgreSQL من خلال اتّباع التعليمات للنظام الأساسي.
- نظام التشغيل macOS نزِّل تطبيق Postgres.app وثبِّته.
- نظام التشغيل Windows: استخدِم أداة تثبيت EDB من صفحة عمليات تنزيل PostgreSQL.
- Docker: اسحب "وشغِّل
صورة واحدة (
pgvector/pgvector:15
) والذي يأتي مع كل من PostgreSQL 15.x ودعم المتجه. - في نظام التشغيل Linux: ننصح باستخدام Docker مع الصورة السابقة، ولكن يمكنك أيضًا اتّبِع الإرشادات البديلة لعمليات التوزيع الشائعة.
لاحظ إدخال اسم المضيف والمنفذ واسم المستخدم وكلمة المرور بالإضافة إلى ناتج المعلمات ذات الصلة أثناء تسلسل التثبيت.
للاتصال بمثيل PostgreSQL، يحتاج المحاكي إلى ما يلي:
- مَعلمات ضبط الإعداد هذه
- اسم قاعدة البيانات من جهاز
dataconnect.yaml
واسم مطابق قاعدة البيانات مهيأة في المثيل المحلي لديك.
استخدام مثيل PostgreSQL المحلي
يمكنك استخدام مثيل PostgreSQL محلي حالي عن طريق تحديث إعدادات المحاكي في "Data Connect"
firebase setup:emulators:dataconnect
أدخِل سلسلة اتصال PostgreSQL بالتنسيق التالي عندما يُطلب منك ذلك:
postgresql://postgresusername:postgrespassword@localhost:5432/postgresdatabase?sslmode=disable
لمزيد من المعلومات حول سلسلة الاتصال، راجع مستندات PostgreSQL
الاتصال بمثيل PostgreSQL المحلي
بعد إتمام هذه الإعدادات، للاتصال بقاعدة بياناتك المحلية:
- في رمز VS، انقر على رمز Firebase في اللوحة اليمنى لفتح واجهة مستخدم إضافة Firebase VS Code
- انقر على زر Connect to Local PostgreSQL.