इस क्विकस्टार्ट में, Firebase SQL Connect को सेट अप करने का तरीका बताया गया है. इसकी मदद से, अपने वेब और मोबाइल ऐप्लिकेशन को PostgreSQL डेटाबेस से कनेक्ट किया जा सकता है. आपको:
- VS Code और Firebase CLI की मदद से, अपनी लोकल Firebase SQL Connect प्रोजेक्ट डायरेक्ट्री सेट अप करें.
- नैचुरल लैंग्वेज में, अपने ऐप्लिकेशन के आइडिया के आधार पर SQL Connect स्कीमा, क्वेरी, और म्यूटेशन जनरेट करें.
- अपने ऐप्लिकेशन में, टाइप की जानकारी देने वाले एसडीके टूल का इस्तेमाल करके SQL Connect क्वेरी और म्यूटेशन चलाएं.
- PostgreSQL के लिए Cloud SQL इंस्टेंस, SQL Connect स्कीमा, क्वेरी, और म्यूटेशन उपलब्ध कराता है.
लोकल प्रोजेक्ट डायरेक्ट्री सेट अप करना
SQL Connect के लिए, लोकल डेवलपमेंट टूल को दो तरीकों से इंस्टॉल किया जा सकता है.
प्रोजेक्ट डायरेक्ट्री में, यह कमांड चलाएं.
यह स्क्रिप्ट, Firebase CLI और SQL Connect VS Code एक्सटेंशन इंस्टॉल करती है. साथ ही, आपको
firebase init dataconnectके ज़रिए प्रोजेक्ट सेट अप करने का तरीका बताती है. अगर आपने VS Code डेस्कटॉप इंस्टॉल नहीं किया है, तो स्क्रिप्ट इसे ब्राउज़र में खोलती है.curl -sL https://firebase.tools/init/dataconnect | editor=true bashVisual Studio Code के बाएं पैनल में मौजूद Firebase आइकॉन पर क्लिक करके, SQL Connect VS Code एक्सटेंशन स्क्रीन खोलें.
स्थानीय PGlite डेटाबेस के साथ एम्युलेटर चलाने के लिए, एम्युलेटर शुरू करें पर क्लिक करें.
समीक्षा स्कीमा
Firebase SQL Connect आपके डेटा मॉडल को तय करने के लिए GraphQL का इस्तेमाल करता है. @table डायरेक्टिव, GraphQL टाइप को PostgreSQL टेबल से मैप करता है. टाइप में मौजूद फ़ील्ड, PostgreSQL कॉलम से मैप होते हैं. टेबल के बीच संबंध तय करने के लिए, ऐसे फ़ील्ड का इस्तेमाल किया जा सकता है जो अन्य @table टाइप को रेफ़रंस करते हैं. इनमें कंपोज़िट प्राइमरी कुंजियों वाली जॉइन टेबल का इस्तेमाल करके, मेनी-टू-मेनी रिलेशनशिप भी शामिल हैं.
डिफ़ॉल्ट सेटअप में, आपको SQL Connect डायरेक्ट्री में SQL Connect स्कीमा फ़ाइलें मिलेंगी.dataconnect/schema/ यहां मूवी के टेंप्लेट स्कीमा की दो उदाहरण टेबल दी गई हैं. अगर आपने इसे जनरेट करने के लिए Gemini का इस्तेमाल किया है, तो आपका स्कीमा अलग हो सकता है.
type Movie @table {
# Every table has an implicit primary key field that looks something like:
# id: UUID! @default(expr: "uuidV4()")
title: String!
imageUrl: String!
genre: String
}
type Review @table(key: ["movie", "user"]) {
user: User!
movie: Movie!
rating: Int
reviewText: String
reviewDate: Date! @default(expr: "request.time")
}
SQL Connect स्कीमा के बारे में ज़्यादा जानें
क्वेरी और म्यूटेशन डेवलप करना
Firebase SQL Connect क्वेरी और म्यूटेशन के लिए GraphQL का इस्तेमाल करता है. इन्हें .gql फ़ाइलों में तय किया जाता है और आपके ऐप्लिकेशन से इन्हें नाम के हिसाब से कॉल किया जाता है. GraphQL सिंटैक्स, टाइप किए गए SDK टूल और एक फ़्लेक्सिबल एपीआई उपलब्ध कराता है, ताकि आपका ऐप्लिकेशन ठीक वही डेटा फ़ेच कर सके जिसकी उसे ज़रूरत है.
आपके डेटाबेस में मौजूद सीड डेटा
एम्युलेटर चालू होने पर, उसमें शुरुआती डेटा डाला जा सकता है. आपको दी गई dataconnect/seed_data.gql फ़ाइल का इस्तेमाल किया जा सकता है या अपने म्यूटेशन लिखे जा सकते हैं.
म्यूटेशन को लागू करने और अपने लोकल PGlite डेटाबेस को भरने के लिए, VS Code में Run (local) Code Lens बटन का इस्तेमाल करें.

क्वेरी और म्यूटेशन की समीक्षा करना
डिफ़ॉल्ट सेटअप में, आपको dataconnect/example/ डायरेक्ट्री में SQL Connect क्वेरी और म्यूटेशन मिलेंगे.
नेस्ट की गई क्वेरी की मदद से, रिलेशनल डेटा के बारे में सटीक क्वेरी की जा सकती है.
query ListMovies @auth(level: PUBLIC, insecureReason: "Anyone can list all movies and their reviews.") {
movies {
title imageUrl genre
reviews_on_movie {
rating reviewDate
user { username }
}
}
}
SQL Connect की मदद से, Firebase Auth के साथ सुरक्षित क्वेरी और म्यूटेशन बनाए जा सकते हैं.
अपने ऐप्लिकेशन को सुरक्षित रखने के लिए, वेब और मोबाइल ऐप्लिकेशन सिर्फ़ @auth डायरेक्टिव के साथ SQL Connect क्वेरी और म्यूटेशन को ऐक्सेस कर सकते हैं. क्वेरी और म्यूटेशन, {field}_expr: "auth.uid" जैसे एक्सप्रेशन का इस्तेमाल करके, Firebase Auth UID को सुरक्षित तरीके से ऐक्सेस कर सकते हैं.
mutation AddReview($movieId: UUID!, $rating: Int!, $reviewText: String!) @auth(level: USER) {
review_upsert(
data: {
userId_expr: "auth.uid"
movieId: $movieId
rating: $rating
reviewText: $reviewText
}
)
}
SQL Connect क्वेरी के बारे में ज़्यादा जानें SQL Connect म्यूटेशन के बारे में ज़्यादा जानें SQL Connect पुष्टि करने की सुविधा के बारे में ज़्यादा जानें
क्वेरी और म्यूटेशन जनरेट करना
SQL Connect का बेहतर तरीके से इस्तेमाल करने के लिए, आपको GraphQL का विशेषज्ञ होने की ज़रूरत नहीं है. आम भाषा में दिए गए ब्यौरे से, SQL Connect क्वेरी और म्यूटेशन जनरेट किए जा सकते हैं.
किसी भी .gql फ़ाइल में, टिप्पणी शुरू करने के लिए # टाइप करें. इसके बाद, क्वेरी या म्यूटेशन के बारे में बताएं. इसके बाद, GraphQL ऑपरेशन जनरेट करने के लिए, जनरेट/रीफ़ाइन ऑपरेशन कोड लेंस बटन का इस्तेमाल करें.

अपने ऐप्लिकेशन में जनरेट किए गए एसडीके का इस्तेमाल करना
firebase init dataconnect आपके प्रोजेक्ट में मौजूद ऐप्लिकेशन के लिए, टाइप-सेफ़ एसडीके अपने-आप सेट अप करता है. अगर ज़रूरत हो, तो एसडीके को मैन्युअल तरीके से जोड़ा जा सकता है. इसके लिए, SQL Connect VS Code एक्सटेंशन में मौजूद ऐप्लिकेशन में एसडीके जोड़ें बटन पर क्लिक करें या firebase init
dataconnect:sdk चलाएं.
वेब
- अपने वेब ऐप्लिकेशन में Firebase जोड़ें.
अपने React ऐप्लिकेशन की मुख्य फ़ाइल में:
- जनरेट किए गए एसडीके को इंपोर्ट करें:
// Update as needed with the path to your generated SDK. import { listMovies, ListMoviesData } from '@dataconnect/generated';- SQL Connect एम्युलेटर से कनेक्ट करने के लिए, अपने ऐप्लिकेशन को इंस्ट्रूमेंट करें:
import { connectDataConnectEmulator } from 'firebase/data-connect'; const dataConnect = getDataConnect(connectorConfig); connectDataConnectEmulator(dataConnect, 'localhost', 9399);- SQL Connect तरीकों को कॉल करें.
function App() { const [movies, setMovies] = useState<ListMoviesData['movies']>([]); useEffect(() => { listMovies.then(res => setMovies(res.data)); }, []); return ( movies.map(movie => <h1>{movie.title}</h1>); ); } const root = ReactDOM.createRoot(document.getElementById('root')); root.render(<App />);
Swift
- अपने iOS ऐप्लिकेशन में Firebase जोड़ें.
जनरेट किए गए एसडीके टूल का इस्तेमाल करने के लिए, इसे Xcode में डिपेंडेंसी के तौर पर कॉन्फ़िगर करें.
Xcode के सबसे ऊपर मौजूद नेविगेशन बार में, File > Add Package Dependencies > Add Local को चुनें. इसके बाद, जनरेट की गई
Package.swiftवाला फ़ोल्डर चुनें.अपने ऐप्लिकेशन के मुख्य डेलिगेट में:
SQL Connect SDK और जनरेट किया गया SDK इंपोर्ट करें:
import FirebaseDataConnect // Generated queries. // Update as needed with the package name of your generated SDK. import <CONNECTOR-PACKAGE-NAME> let connector = DataConnect.moviesConnectorSQL Connect एम्युलेटर से कनेक्ट करने के लिए, अपने ऐप्लिकेशन को इंस्ट्रूमेंट करें:
// Connect to the emulator on "127.0.0.1:9399" connector.useEmulator() // (alternatively) if you're running your emulator on non-default port: // connector.useEmulator(port: 9999)SQL Connect तरीके को कॉल करें:
struct ListMovieView: View { @StateObject private var queryRef = connector.listMovies.ref() var body: some View { VStack { Button { Task { do { try await refresh() } catch { print("Failed to refresh: \(error)") } } } label: { Text("Refresh") } // use the query results in a view ForEach(queryRef.data?.movies ?? []) { movie in Text(movie.title) } } } } @MainActor func refresh() async throws { _ = try await queryRef.execute() } struct ContentView_Previews: PreviewProvider { static var previews: some View { ListMovieView() } }
Kotlin Android
- अपने Android ऐप्लिकेशन में Firebase जोड़ें.
जनरेट किए गए SDK टूल का इस्तेमाल करने के लिए, Gradle में SQL Connect को डिपेंडेंसी के तौर पर कॉन्फ़िगर करें.
pluginsऔरdependenciesकोapp/build.gradle.ktsमें अपडेट करें.plugins { // Use whichever versions of these dependencies suit your application. // The versions shown here were the latest as of March 14, 2025. // Note, however, that the version of kotlin("plugin.serialization") must, // in general, match the version of kotlin("android"). id("com.android.application") version "8.9.0" id("com.google.gms.google-services") version "4.4.2" val kotlinVersion = "2.1.10" kotlin("android") version kotlinVersion kotlin("plugin.serialization") version kotlinVersion } dependencies { // Use whichever versions of these dependencies suit your application. // The versions shown here were the latest versions as of March 14, 2025. implementation("com.google.firebase:firebase-dataconnect:16.0.0-beta04") implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.1") implementation("org.jetbrains.kotlinx:kotlinx-serialization-core:1.7.3") // These dependencies are not strictly required, but will very likely be used // when writing modern Android applications. implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.9.0") implementation("androidx.appcompat:appcompat:1.7.0") implementation("androidx.activity:activity-ktx:1.10.1") implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7") implementation("com.google.android.material:material:1.12.0") }अपने ऐप्लिकेशन की मुख्य गतिविधि में:
- जनरेट किए गए SDK टूल से कनेक्टर इंस्टेंस पाएं:
private val connector = com.myapplication.MoviesConnector.instance- SQL Connect एम्युलेटर से कनेक्ट करने के लिए, अपने ऐप्लिकेशन को इंस्ट्रूमेंट करें:
private val connector = com.myapplication.MoviesConnector.instance .apply { // Connect to the emulator on "10.0.2.2:9399" (default port) dataConnect.useEmulator() // (alternatively) if you're running your emulator on non-default port: // dataConnect.useEmulator(port = 9999) }- SQL Connect तरीकों को कॉल करें.
class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val textView: TextView = findViewById(R.id.text_view) lifecycleScope.launch { lifecycle.repeatOnLifecycle(Lifecycle.State.STARTED) { val result = connector.listMovies.runCatching { execute { } } val newTextViewText = result.fold( onSuccess = { val titles = it.data.movies.map { it.title } "${titles.size} movies: " + titles.joinToString(", ") }, onFailure = { "ERROR: ${it.message}" } ) textView.text = newTextViewText } } } }
Flutter
- अपने Flutter ऐप्लिकेशन में Firebase जोड़ें.
- flutterfire सीएलआई
dart pub global activate flutterfire_cliइंस्टॉल करें. flutterfire configureशुरू करें.ऐप्लिकेशन के मुख्य फ़ंक्शन में:
- जनरेट किए गए एसडीके को इंपोर्ट करें:
// Generated queries. // Update as needed with the path to your generated SDK import 'movies_connector/movies.dart';- SQL Connect एम्युलेटर से कनेक्ट करने के लिए, अपने ऐप्लिकेशन को इंस्ट्रूमेंट करें:
void main() async { WidgetsFlutterBinding.ensureInitialized(); await Firebase.initializeApp( options: DefaultFirebaseOptions.currentPlatform, ); MoviesConnector.instance.dataConnect .useDataConnectEmulator(Uri.base.host, 443, isSecure: true); runApp(const MyApp()); }- SQL Connect तरीकों को कॉल करें.
class MyApp extends StatelessWidget { const MyApp({super.key}); @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( body: Column(children: [ ConstrainedBox( constraints: const BoxConstraints(maxHeight: 200), child: FutureBuilder( future: MoviesConnector.instance.listMovies().execute(), builder: (context, snapshot) { if (snapshot.connectionState == ConnectionState.done) { return ListView.builder( scrollDirection: Axis.vertical, itemBuilder: (context, index) => Card( child: Text( snapshot.data!.data.movies[index].title, )), itemCount: snapshot.data!.data.movies.length, ); } return const CircularProgressIndicator(); }), ) ]))); } }
प्रोडक्शन में डिप्लॉय करना
स्कीमा, क्वेरी, और म्यूटेशन को प्रोडक्शन में डिप्लॉय करने के लिए:
कीमत पेज पर जाकर, कीमत और बिना किसी शुल्क के आज़माने की जानकारी देखें. आपके प्रोजेक्ट के लिए, Firebase SQL Connect मुफ़्त में आज़माने के विकल्पों में से कोई एक उपलब्ध हो सकता है.
SQL Connect VS Code एक्सटेंशन में मौजूद, Deploy to production बटन पर क्लिक करें या टर्मिनल में यह कमांड चलाएं:
firebase deploy --only dataconnectडेटा डिप्लॉय करने के बाद, Firebase कंसोल पर जाएं. यहां आपको अपना स्कीमा दिखेगा. साथ ही, क्वेरी और म्यूटेशन चलाने का विकल्प भी मिलेगा.
dataconnect.yaml के बारे में ज़्यादा जानें इस बारे में ज़्यादा जानें कि SQL Connect, Cloud SQL के साथ कैसे काम करता है
अगले चरण
क्विकस्टार्ट पूरा करने के बाद, यहां कुछ और तरीके दिए गए हैं:
- क्विकस्टार्ट ऐप्लिकेशन रिपॉज़िटरी एक्सप्लोर करें और हमारी वेब के लिए कोडलैब, iOS के लिए कोडलैब या Android के लिए कोडलैब को फ़ॉलो करके, पूरी सुविधाओं वाला SQL Connect ऐप्लिकेशन बनाएं.
- अपने डेटाबेस में डेटा जोड़ें, अपने स्कीमा की जांच करें, और Firebase कंसोल में SQL कनेक्ट सेवा की निगरानी करें.
- Gemini Code Assist जैसे एआई की मदद से काम करने वाले डेवलपमेंट टूल के साथ, Firebase MCP सर्वर सेट अप करें.
- स्कीमा, क्वेरी, और म्यूटेशन डेवलपमेंट के बारे में ज़्यादा जानें.
- SQL Connect PostgreSQL स्कीमा को मैनेज करने के तरीके के बारे में ज़्यादा जानें.
- वेब, Android, iOS, और Flutter के लिए क्लाइंट SDK टूल और Node.js के लिए Admin SDK टूल के बारे में ज़्यादा जानें.