এই কুইকস্টার্টে, আপনি শিখবেন কিভাবে একটি প্রোডাকশন এসকিউএল ইনস্ট্যান্স সেট আপ না করে স্থানীয়ভাবে আপনার অ্যাপ্লিকেশনে Firebase Data Connect তৈরি করতে হয়।
- আপনার Firebase প্রকল্পে Firebase Data Connect যোগ করুন।
- একটি স্থানীয় উদাহরণের সাথে কাজ করার জন্য একটি ভিজ্যুয়াল স্টুডিও কোড এক্সটেনশন সহ একটি উন্নয়ন পরিবেশ সেট আপ করুন৷
- তারপর আমরা আপনাকে দেখাব কিভাবে:
- একটি মুভি অ্যাপের জন্য একটি স্কিমা তৈরি করুন
- আপনার অ্যাপে ব্যবহার করা হবে এমন প্রশ্ন এবং মিউটেশন সংজ্ঞায়িত করুন
- স্থানীয় এমুলেটরের বিরুদ্ধে নমুনা ডেটা সহ আপনার প্রশ্ন এবং মিউটেশন পরীক্ষা করুন
- দৃঢ়ভাবে টাইপ করা SDK তৈরি করুন এবং আপনার অ্যাপে ব্যবহার করুন
- আপনার চূড়ান্ত স্কিমা, প্রশ্ন এবং ডেটা ক্লাউডে স্থাপন করুন (ঐচ্ছিক, ব্লেজ পরিকল্পনা প্রয়োজন)।
পূর্বশর্ত
এই কুইকস্টার্ট ব্যবহার করার জন্য, আপনার নিম্নলিখিতগুলির প্রয়োজন হবে৷
- লিনাক্স, ম্যাকওএস বা উইন্ডোজ
- ভিজ্যুয়াল স্টুডিও কোড
- Windows এর জন্য nvm-windows বা macOS বা Linux এর জন্য nvm ব্যবহার করে Node.js ইনস্টল করুন।
- আপনি যদি ইতিমধ্যেই না করে থাকেন তাহলে Firebase কনসোলে একটি Firebase প্রকল্প তৈরি করুন।
উন্নয়ন পরিবেশ সেট আপ করুন
স্কিমা পরিচালনা করতে আপনার ভিজ্যুয়াল স্টুডিও কোডের প্রয়োজন হবে এবং আপনার অ্যাপ্লিকেশানে ব্যবহৃত প্রশ্নগুলিকে সংজ্ঞায়িত করতে হবে এবং আপনার জন্য একটি দৃঢ়ভাবে টাইপ করা SDK স্বয়ংক্রিয়ভাবে তৈরি হবে:
- আপনার স্থানীয় প্রকল্পের জন্য একটি নতুন ডিরেক্টরি তৈরি করুন।
- নতুন ডিরেক্টরিতে VS কোড খুলুন।
- ভিজ্যুয়াল স্টুডিও কোড মার্কেটপ্লেস থেকে ফায়ারবেস ডেটা কানেক্ট এক্সটেনশন ইনস্টল করুন।
আপনার প্রকল্প ডিরেক্টরি সেট আপ করুন
আপনার স্থানীয় প্রকল্প সেট আপ করতে, আপনার প্রকল্প ডিরেক্টরি শুরু করুন. VS Code বামদিকের প্যানেলে, Data Connect VS Code এক্সটেনশন UI খুলতে Firebase আইকনে ক্লিক করুন:
- সাইন ইন উইথ গুগল বোতামে ক্লিক করুন।
- একটি ফায়ারবেস প্রকল্প সংযুক্ত করুন বোতামে ক্লিক করুন এবং কনসোলে আপনি আগে তৈরি করা প্রকল্পটি নির্বাচন করুন৷
- রান ফায়ারবেস ইনিট বোতামে ক্লিক করুন।
স্টার্ট এমুলেটর বোতামে ক্লিক করুন।
একটি স্কিমা তৈরি করুন
আপনার ফায়ারবেস প্রজেক্ট ডিরেক্টরিতে, /dataconnect/schema/schema.gql
ফাইলে, সিনেমা সম্পর্কে একটি GraphQL স্কিমা সংজ্ঞায়িত করা শুরু করুন।
মুভি
Data Connect , গ্রাফকিউএল ক্ষেত্রগুলি কলামে ম্যাপ করা হয়। মুভিটির 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
}
মুভি মেটাডেটা
নিম্নলিখিত স্নিপেটটি অনুলিপি করুন বা ফাইলের সংশ্লিষ্ট লাইনগুলিকে আনকমেন্ট করুন।
# 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
মধ্যে একটি সম্পর্ক এবং আপনার জন্য এই সম্পর্কটি পরিচালনা করবে।
ডকুমেন্টেশনে ডেটা কানেক্ট স্কিমা সম্পর্কে আরও জানুন
আপনার টেবিলে ডেটা যোগ করুন
VS কোড এডিটর প্যানেলে, আপনি /dataconnect/schema/schema.gql
এ গ্রাফকিউএল প্রকারের উপর কোডলেন্স বোতামগুলি উপস্থিত দেখতে পাবেন। আপনি ডেটা যোগ করুন এবং রান (স্থানীয়) বোতামগুলি আপনার স্থানীয় ডাটাবেসে ডেটা যোগ করতে পারেন।
Movie
এবং MovieMetadata
টেবিলে রেকর্ড যোগ করতে:
-
schema.gql
এ,Movie
ধরন ঘোষণার উপরে ডেটা যোগ করুন বোতামে ক্লিক করুন। -
Movie_insert.gql
ফাইলে যেটি তৈরি হয়, তিনটি ক্ষেত্রের জন্য হার্ড কোড ডেটা। - রান (স্থানীয়) বোতামে ক্লিক করুন।
-
MovieMetadata
সারণীতে একটি রেকর্ড যোগ করার জন্য পূর্ববর্তী পদক্ষেপগুলি পুনরাবৃত্তি করুন,movieId
ক্ষেত্রে আপনার মুভিরid
সরবরাহ করুন, যেমনMovieMetadata_insert
মিউটেশনে প্রম্পট করা হয়েছে।
দ্রুত তথ্য যাচাই করতে যোগ করা হয়েছে:
-
schema.gql
এ ফিরে,Movie
টাইপ ঘোষণার উপরে ডেটা পড়ুন বোতামে ক্লিক করুন। - ফলস্বরূপ
Movie_read.gql
ফাইলে, কোয়েরি চালানোর জন্য রান (স্থানীয়) বোতামে ক্লিক করুন।
ডকুমেন্টেশনে ডেটা কানেক্ট মিউটেশন সম্পর্কে আরও জানুন
আপনার প্রশ্ন সংজ্ঞায়িত করুন
এখন মজার অংশ: আসুন আপনার অ্যাপ্লিকেশনে আপনার প্রয়োজনীয় প্রশ্নগুলি সংজ্ঞায়িত করি। একজন ডেভেলপার হিসেবে, আপনি GraphQL কোয়েরির পরিবর্তে SQL ক্যোয়ারী লিখতে অভ্যস্ত, তাই এটি প্রথমে কিছুটা আলাদা মনে হতে পারে। যাইহোক, GraphQL raw SQL এর চেয়ে অনেক বেশি পরিচ্ছন্ন এবং টাইপ-নিরাপদ। এবং আমাদের VS কোড এক্সটেনশন উন্নয়ন অভিজ্ঞতা সহজ করে.
/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
}
}
কাছাকাছি কোডলেন্স বোতাম ব্যবহার করে ক্যোয়ারীটি চালান।
এখানে একটি সত্যিই উত্তেজনাপূর্ণ বৈশিষ্ট্য একটি গ্রাফ মত ডাটাবেসের সম্পর্ক আচরণ করার ক্ষমতা. যেহেতু একটি মুভিমেটাডেটার একটি movie
ক্ষেত্র রয়েছে যা একটি মুভিকে উল্লেখ করে, আপনি ফিল্ডে নেস্ট করতে পারেন এবং মুভির তথ্য সম্পর্কে তথ্য ফিরে পেতে পারেন। ListMovies ক্যোয়ারীতে জেনারেট করা ধরনের movieMetadata_on_movie
যোগ করার চেষ্টা করুন।
query ListMovies @auth(level: PUBLIC) {
movies {
id
title
imageUrl
genre
movieMetadata_on_movie {
rating
}
}
}
ডকুমেন্টেশনে ডেটা কানেক্ট কোয়েরি সম্পর্কে আরও জানুন
SDK তৈরি করুন এবং আপনার অ্যাপে ব্যবহার করুন
VS Code বামদিকের প্যানেলে, Data Connect VS Code এক্সটেনশন UI খুলতে Firebase আইকনে ক্লিক করুন:
- অ্যাপে SDK যোগ করুন বোতামে ক্লিক করুন।
প্রদর্শিত ডায়ালগে, আপনার অ্যাপের জন্য কোড ধারণকারী একটি ডিরেক্টরি নির্বাচন করুন। Data Connect । SDK কোড তৈরি হবে এবং সেখানে সেভ করা হবে।
আপনার অ্যাপ প্ল্যাটফর্ম নির্বাচন করুন, তারপর মনে রাখবেন যে আপনার নির্বাচিত ডিরেক্টরিতে SDK কোড অবিলম্বে তৈরি হয়েছে।
ক্লায়েন্ট অ্যাপ ( ওয়েব , অ্যান্ড্রয়েড , আইওএস , ফ্লাটার ) থেকে কল কোয়েরি এবং মিউটেশনের জন্য জেনারেট করা SDK কীভাবে ব্যবহার করবেন তা শিখুন।
উত্পাদনে আপনার স্কিমা এবং ক্যোয়ারী স্থাপন করুন
একবার আপনার অ্যাপে আপনার স্থানীয় সেটআপ হয়ে গেলে, এখন আপনি আপনার স্কিমা, ডেটা এবং প্রশ্নগুলি ক্লাউডে স্থাপন করতে পারেন। একটি ক্লাউড এসকিউএল ইনস্ট্যান্স সেট আপ করতে আপনার ব্লেজ প্ল্যানের প্রয়োজন হবে।
Firebase কনসোলের ডেটা কানেক্ট বিভাগে নেভিগেট করুন এবং একটি বিনামূল্যের ট্রায়াল ক্লাউড SQL দৃষ্টান্ত তৈরি করুন।
VS কোড ইন্টিগ্রেটেড টার্মিনালে , firebase init dataconnect চালান এবং কনসোলে আপনার তৈরি করা অঞ্চল/পরিষেবা আইডি নির্বাচন করুন।
"ফাইল dataconnect/dataconnect.yaml ইতিমধ্যেই বিদ্যমান, ওভাররাইট?" দিয়ে অনুরোধ করা হলে "Y" নির্বাচন করুন? .
Data Connect VS Code Extension UI-তে, Deploy to Production বোতামে ক্লিক করুন।
একবার স্থাপন করা হলে, ক্লাউডে আপলোড করা স্কিমা, অপারেশন এবং ডেটা যাচাই করতে Firebase কনসোলে যান। আপনি স্কিমা দেখতে সক্ষম হবেন এবং কনসোলে আপনার ক্রিয়াকলাপগুলিও চালাতে পারবেন। PostgreSQL দৃষ্টান্তের জন্য ক্লাউড এসকিউএল এর চূড়ান্ত স্থাপন করা জেনারেটেড স্কিমা এবং ডেটা সহ আপডেট করা হবে।
পরবর্তী পদক্ষেপ
আপনার নিয়োজিত প্রকল্প পর্যালোচনা করুন এবং আরও সরঞ্জাম আবিষ্কার করুন:
- আপনার ডাটাবেসে ডেটা যোগ করুন, আপনার স্কিমাগুলি পরিদর্শন করুন এবং সংশোধন করুন এবং Firebase কনসোলে আপনার ডেটা কানেক্ট পরিষেবা নিরীক্ষণ করুন।
ডকুমেন্টেশনে আরও তথ্য অ্যাক্সেস করুন। উদাহরণস্বরূপ, যেহেতু আপনি কুইকস্টার্ট সম্পূর্ণ করেছেন:
- স্কিমা, ক্যোয়ারী এবং মিউটেশন ডেভেলপমেন্ট সম্পর্কে আরও জানুন
- ক্লায়েন্ট SDK তৈরি করা এবং ওয়েব , Android , এবং iOS এবং ফ্লটারের জন্য ক্লায়েন্ট কোড থেকে কলিং কোয়েরি এবং মিউটেশন সম্পর্কে জানুন।