با Firebase Data Connect به صورت محلی شروع کنید، با Firebase Data Connect به صورت محلی شروع کنید

در این شروع سریع، یاد خواهید گرفت که چگونه Firebase Data Connect در برنامه خود به صورت محلی بدون راه‌اندازی یک نمونه SQL تولید کنید.

  • Firebase Data Connect به پروژه Firebase خود اضافه کنید.
  • یک محیط توسعه شامل پسوند Visual Studio Code برای کار با یک نمونه محلی تنظیم کنید.
  • سپس به شما نشان خواهیم داد که چگونه:
    • یک طرحواره برای یک برنامه فیلم ایجاد کنید
    • پرس و جوها و جهش هایی را که در برنامه شما استفاده می شود را تعریف کنید
    • پرس و جوها و جهش های خود را با داده های نمونه در برابر یک شبیه ساز محلی آزمایش کنید
    • SDKهایی با تایپ قوی ایجاد کنید و از آنها در برنامه خود استفاده کنید
    • طرح نهایی، پرس و جوها و داده های خود را در ابر مستقر کنید (اختیاری، برنامه Blaze مورد نیاز است).

پیش نیازها

برای استفاده از این شروع سریع، به موارد زیر نیاز دارید.

محیط توسعه را تنظیم کنید

برای مدیریت طرح و تعریف پرس و جوهایی که در برنامه شما استفاده می شود به کد ویژوال استودیو نیاز دارید و یک SDK قوی تایپ شده به طور خودکار برای شما ایجاد می شود:

  1. یک دایرکتوری جدید برای پروژه محلی خود ایجاد کنید.
  2. VS Code را در دایرکتوری جدید باز کنید.
  3. افزونه Firebase Data Connect را از Visual Studio Code Marketplace نصب کنید.

دایرکتوری پروژه خود را تنظیم کنید

برای راه اندازی پروژه محلی خود، دایرکتوری پروژه خود را مقداردهی اولیه کنید. در پانل سمت چپ VS Code، روی نماد Firebase کلیک کنید تا رابط کاربری افزونه Data Connect VS Code باز شود:

  1. روی دکمه Sign in with Google کلیک کنید.
  2. روی دکمه Connect a Firebase project کلیک کنید و پروژه ای را که قبلا در کنسول ایجاد کردید انتخاب کنید.
  3. روی دکمه Run firebase init کلیک کنید.
  4. روی دکمه Start emulators کلیک کنید.

یک طرحواره ایجاد کنید

در پوشه پروژه Firebase، در فایل /dataconnect/schema/schema.gql ، شروع به تعریف طرح GraphQL درباره فیلم کنید.

فیلم

در Data Connect ، فیلدهای GraphQL به ستون‌ها نگاشت می‌شوند. فیلم دارای id ، title ، imageUrl و genre است. Data Connect انواع داده های اولیه را می شناسد: String و UUID .

قطعه زیر را کپی کنید یا خطوط مربوطه را در فایل از نظر خارج کنید.

# By default, a UUID id key will be created by default as primary key.
# If you want to specify a primary key, say title, which you can do through
# the @table(key: "title") directive
type Movie @table {
  id: UUID! @default(expr: "uuidV4()")
  title: String!
  imageUrl: String!
  genre: String
}

MovieMetadata

قطعه زیر را کپی کنید یا خطوط مربوطه را در فایل از نظر خارج کنید.

# Movie - MovieMetadata is a one-to-one relationship
type MovieMetadata @table {
  # This time, we omit adding a primary key because
  # you can rely on Data Connect to manage it.

  # @unique indicates a 1-1 relationship
  movie: Movie! @unique
  # movieId: UUID <- this is created by the above reference
  rating: Float
  releaseYear: Int
  description: String
}

توجه داشته باشید که فیلد movie به نوعی از Movie نگاشت شده است. Data Connect می داند که این رابطه بین Movie و MovieMetadata است و این رابطه را برای شما مدیریت می کند.

درباره طرحواره های Data Connect در مستندات بیشتر بیاموزید

داده ها را به جداول خود اضافه کنید

در پنل ویرایشگر کد VS، دکمه های CodeLens را روی انواع GraphQL در /dataconnect/schema/schema.gql خواهید دید. می توانید از دکمه های Add data و Run (محلی) برای افزودن داده به پایگاه داده محلی خود استفاده کنید.

برای افزودن رکوردها به جداول Movie و MovieMetadata :

  1. در schema.gql ، روی دکمه افزودن داده در بالای اعلان نوع Movie کلیک کنید.
    لنز کد دکمه افزودن داده برای Firebase Data Connect
  2. در فایل Movie_insert.gql که تولید می‌شود، داده‌های کد سخت برای سه فیلد وجود دارد.
  3. روی دکمه Run (Local) کلیک کنید.
    دکمه اجرای کد لنز برای اتصال داده Firebase
  4. مراحل قبلی را تکرار کنید تا یک رکورد به جدول MovieMetadata اضافه کنید، همانطور که در جهش MovieMetadata_insert ایجاد شده، uid فیلم خود را در فیلد movie تهیه کنید.

برای تأیید سریع داده ها اضافه شد:

  1. بازگشت به schema.gql ، روی دکمه Read data کلیک کنید.
  2. در فایل Movie_read.gql به دست آمده، روی دکمه Run (Local) کلیک کنید تا کوئری اجرا شود.

درباره جهش های Data Connect در مستندات بیشتر بیاموزید

سوال خود را تعریف کنید

اکنون بخش سرگرم کننده: بیایید پرس و جوهایی را که در برنامه خود به آن نیاز دارید تعریف کنیم. به‌عنوان یک توسعه‌دهنده، شما به نوشتن پرس‌و‌جوهای SQL به جای پرس‌وجوهای GraphQL عادت دارید، بنابراین در ابتدا کمی متفاوت به نظر می‌رسد. با این حال، GraphQL بسیار مختصرتر و ایمن تر از SQL خام است. و برنامه افزودنی VS Code ما تجربه توسعه را آسان می کند.

ویرایش فایل /dataconnect/connector/queries.gql را شروع کنید. اگر می‌خواهید همه فیلم‌ها را دریافت کنید، از یک پرس و جو مانند این استفاده کنید.

# File `/dataconnect/connector/queries.gql`

# @auth() directives control who can call each operation.
# Anyone should be able to list all movies, so the auth level is set to PUBLIC
query ListMovies @auth(level: PUBLIC) {
  movies {
    id
    title
    imageUrl
    genre
  }
}

پرس و جو را با استفاده از دکمه CodeLens نزدیک اجرا کنید.

یک ویژگی واقعا هیجان انگیز در اینجا، توانایی برخورد با روابط پایگاه داده مانند یک نمودار است. از آنجایی که یک MovieMetadata دارای یک فیلد movie است که به یک فیلم اشاره می کند، می توانید در فیلد لانه کرده و اطلاعات مربوط به اطلاعات فیلم را دریافت کنید. سعی کنید نوع ایجاد شده movieMetadata_on_movie را به کوئری ListMovies اضافه کنید.

query ListMovies @auth(level: PUBLIC) {
  movies {
    id
    title
    imageUrl
    genre
    movieMetadata_on_movie {
        rating
    }
  }
}

درباره پرسش‌های Data Connect در مستندات بیشتر بیاموزید

SDK ها را تولید کنید و از آنها در برنامه خود استفاده کنید

در پانل سمت چپ VS Code، روی نماد Firebase کلیک کنید تا رابط کاربری افزونه Data Connect VS Code باز شود:

  1. روی دکمه افزودن SDK به برنامه کلیک کنید.
  2. در گفتگوی ظاهر شده، دایرکتوری حاوی کد برنامه خود را انتخاب کنید. Data Connect کد SDK در آنجا تولید و ذخیره خواهد شد.

  3. پلت فرم برنامه خود را انتخاب کنید، سپس توجه داشته باشید که کد SDK بلافاصله در فهرست انتخابی شما ایجاد می شود.

بیاموزید که چگونه از SDK تولید شده برای فراخوانی درخواست‌ها و جهش‌های برنامه‌های مشتری ( وب ، Android ، iOS ، Flutter ) استفاده کنید.

طرح و پرس و جو خود را در تولید مستقر کنید

هنگامی که تنظیمات محلی خود را در برنامه خود دارید، اکنون می توانید طرح، داده ها و پرس و جوهای خود را در فضای ابری مستقر کنید. برای راه اندازی یک نمونه Cloud SQL به برنامه Blaze نیاز دارید.

  1. به بخش Data Connect کنسول Firebase بروید و یک نمونه آزمایشی رایگان Cloud SQL ایجاد کنید.

  2. در ترمینال یکپارچه کد VS، firebase init dataconnect را اجرا کنید و شناسه منطقه/سرویس را که به تازگی در کنسول ایجاد کرده اید انتخاب کنید.

  3. هنگامی که از شما خواسته شد "File dataconnect/dataconnect.yaml قبلاً وجود دارد، بازنویسی شود؟" "Y" را انتخاب کنید. .

  4. در رابط کاربری Data Connect VS Code Extension، روی دکمه Deploy to production کلیک کنید.

  5. پس از استقرار، به کنسول Firebase بروید تا بررسی کنید که طرحواره، عملیات و داده‌ها در فضای ابری آپلود شده‌اند. شما باید بتوانید طرحواره را مشاهده کنید و عملیات خود را روی کنسول نیز اجرا کنید. Cloud SQL برای نمونه PostgreSQL با طرح و داده های تولید شده نهایی مستقر شده خود به روز می شود.

مراحل بعدی

پروژه مستقر خود را مرور کنید و ابزارهای بیشتری را کشف کنید:

  • داده ها را به پایگاه داده خود اضافه کنید، طرحواره های خود را بررسی و اصلاح کنید، و سرویس Data Connect خود را در کنسول Firebase نظارت کنید.

به اطلاعات بیشتر در اسناد دسترسی پیدا کنید. به عنوان مثال، از آنجایی که شروع سریع را کامل کرده اید: