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

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

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

یک جریان توسعه محلی را انتخاب کنید

Data Connect دو راه برای نصب ابزارهای توسعه و کار به صورت محلی به شما ارائه می دهد.

پیش نیازها

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

  • پروژه Firebase اگر قبلاً یکی را ایجاد نکرده‌اید، این کار را در کنسول Firebase انجام دهید.

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

  1. یک دایرکتوری جدید برای پروژه محلی خود ایجاد کنید.
  2. دستور زیر را در دایرکتوری جدیدی که ایجاد کردید اجرا کنید.

      curl -sL https://firebase.tools/dataconnect | bash
    

    این اسکریپت سعی می کند محیط توسعه را برای شما تنظیم کند و یک IDE مبتنی بر مرورگر راه اندازی کند. این IDE ابزارهایی از جمله یک پسوند کد VS از پیش همراه را ارائه می دهد تا به شما کمک کند طرحواره خود را مدیریت کنید و پرس و جوها و جهش هایی را برای استفاده در برنامه خود تعریف کنید و SDK هایی با تایپ قوی ایجاد کنید.

alias dataconnect='curl -sL https://firebase.tools/dataconnect | bash'

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

برای راه اندازی پروژه محلی خود، دایرکتوری پروژه خود را مقداردهی اولیه کنید. در پنجره IDE، در پانل سمت چپ، روی نماد 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 در مستندات بیشتر بیاموزید

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

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

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

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

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

  1. به schema.gql برگردید، روی دکمه Read data بالای اعلان نوع Movie کلیک کنید.
  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 ها را تولید کنید و از آنها در برنامه خود استفاده کنید

در پانل سمت چپ IDE، روی نماد 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. در ترمینال یکپارچه IDE، firebase init dataconnect را اجرا کنید و شناسه منطقه/سرویس را که به تازگی در کنسول ایجاد کرده اید انتخاب کنید.

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

  4. در VS Code Extension UI، روی دکمه Deploy to production کلیک کنید.

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

مراحل بعدی

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

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

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

،

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

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

یک جریان توسعه محلی را انتخاب کنید

Data Connect دو راه برای نصب ابزارهای توسعه و کار به صورت محلی به شما ارائه می دهد.

پیش نیازها

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

  • پروژه Firebase اگر قبلاً یکی را ایجاد نکرده‌اید، این کار را در کنسول Firebase انجام دهید.

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

  1. یک دایرکتوری جدید برای پروژه محلی خود ایجاد کنید.
  2. دستور زیر را در دایرکتوری جدیدی که ایجاد کردید اجرا کنید.

      curl -sL https://firebase.tools/dataconnect | bash
    

    این اسکریپت سعی می کند محیط توسعه را برای شما تنظیم کند و یک IDE مبتنی بر مرورگر راه اندازی کند. این IDE ابزارهایی از جمله یک پسوند کد VS از پیش همراه را ارائه می دهد تا به شما کمک کند طرحواره خود را مدیریت کنید و پرس و جوها و جهش هایی را برای استفاده در برنامه خود تعریف کنید و SDK هایی با تایپ قوی ایجاد کنید.

alias dataconnect='curl -sL https://firebase.tools/dataconnect | bash'

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

برای راه اندازی پروژه محلی خود، دایرکتوری پروژه خود را مقداردهی اولیه کنید. در پنجره IDE، در پانل سمت چپ، روی نماد 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 در مستندات بیشتر بیاموزید

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

در پانل ویرایشگر IDE، دکمه های CodeLens را روی انواع GraphQL در /dataconnect/schema/schema.gql خواهید دید. You can use the Add data and Run (Local) buttons add data to your local database.

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

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

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

  1. به schema.gql برگردید، روی دکمه Read data بالای اعلان نوع Movie کلیک کنید.
  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 ها را تولید کنید و از آنها در برنامه خود استفاده کنید

در پانل سمت چپ IDE، روی نماد 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. در ترمینال یکپارچه IDE، firebase init dataconnect را اجرا کنید و شناسه منطقه/سرویس را که به تازگی در کنسول ایجاد کرده اید انتخاب کنید.

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

  4. در VS Code Extension UI، روی دکمه Deploy to production کلیک کنید.

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

مراحل بعدی

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

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

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