Bu hızlı başlangıç kılavuzunda şunları öğreneceksiniz:
- Firebase projenize Firebase Data Connect ekleyin.
- Visual Studio dahil bir geliştirme ortamı kurma Bir üretim örneğiyle çalışacak kod uzantısı.
- Daha sonra, size aşağıdakilerin nasıl yapılacağını göstereceğiz:
- E-posta uygulaması için bir şema oluşturun ve üretime dağıtın.
- Şemanız için sorgular ve dönüşümleri tanımlayın.
- Nihai şemanızı, sorgunuzu ve verilerinizi üretime dağıtın.
Ön koşullar
Bu hızlı başlangıç kılavuzunu kullanmak için aşağıdakilere ihtiyacınız vardır.
- Linux, macOS veya Windows
- Visual Studio Code
Firebase projenize bağlanma
- Henüz oluşturmadıysanız bir Firebase projesi oluşturun.
- Firebase konsolunda şunu tıklayın: Proje ekle'yi seçtikten sonra ekrandaki talimatları uygulayın.
Projenizi Blaze planına yükseltin. Bu işlem, PostgreSQL için Cloud SQL örneği oluşturmanıza olanak tanır.
Firebase konsolunun Data Connect bölümüne gidin ürün kurulumu iş akışını takip edebilir.
PostgreSQL için Cloud SQL veritabanınız için bir konum seçin.
Daha sonra onaylamak için proje, hizmet ve veritabanı adlarını ve kimliklerini not edin.
Kalan kurulum akışını takip edip Bitti'yi tıklayın.
Bir geliştirme ortamı seçme ve kurma
Data Connect, prototipleme için iki geliştirme deneyimini destekler:
- Kotlin Android, iOS veya web geliştiricisiyseniz Aynı zamanda şemaları ve işlemleri yerel olarak tasarlayıp test etmek için VS Code geliştirme "PostgreSQL için Cloud SQL" örneğinize bağlanılıyor.
- Web geliştiricisiyseniz, IDX Geliştirme ile PostgreSQL ile önceden yapılandırılmış bir IDX şablonu kullanarak IDX çalışma alanında Data Connect emülatörü ve hızlı başlangıç kodu içeren VS Code uzantısı hesaplayabilirsiniz. Daha fazla bilgiyi Project IDX sitesinde bulabilirsiniz.
Bu hızlı başlangıç kılavuzu, VS Code uzantısı geliştirme akışına odaklanır. Devam etmek için:
- Yerel projeniz için yeni bir dizin oluşturun.
- VS Code'u yeni dizinde açın.
VSIX paketi olarak paketlenmiş uzantıyı Firebase Depolama'dan indirin.
VS Code'da Görünüm menüsünden Uzantılar'ı seçin.
Uzantılar paneli başlık çubuğunda menü simgesini more_horiz tıklayın ve ardından VSIX'ten yükle...'yi uygulayın.
İsteğe bağlı olarak, yerel geliştirme için yerel PostgreSQL veritabanı yükleyebilirsiniz Data Connect emülatörüyle yapabilirsiniz. Bu kurulum, bu hızlı başlangıç kılavuzunun sonunda ele alınmıştır.
Yerel projenizi oluşturun
Normal talimatları uygulayarak CLI'yi yükleyin. npm zaten yüklüyse aşağıdaki komutu çalıştırın:
npm install -g firebase-tools
Proje dizininizi oluşturma
Yerel projenizi ayarlamak için proje dizininizi başlatın.
VS Code'un sol panelindeki Firebase simgesini tıklayarak Firebase VS'yi açın Kod uzantısı kullanıcı arayüzü.
Firebase uzantısı kullanıcı arayüzünde:
- Oturum açtığınızdan emin olun.
- Firebase init'i çalıştır düğmesini tıklayın.
- İstemler için VS Code alt panelindeki Terminal sekmesini kontrol edin.
- Bu dizinde kullanılacak bir özellik olarak Data Connect 'i seçin.
- İstendiğinde Daha önce konsolda oluşturduğunuz Data Connect proje.
Şema oluşturma
Firebase proje dizininizdeki /dataconnect/schema/schema.gql
dosyasında, kullanıcıları ve e-postaları içeren bir GraphQL şeması tanımlamaya başlayın.
Kullanıcı
Data Connect ürününde GraphQL alanları sütunlarla eşlenir. Kullanıcıların,
uid
, name
ve address
adresine e-posta gönderin. Data Connect, String
ve Date
olmak üzere birkaç temel veri türünü tanır.
Aşağıdaki snippet'i kopyalayın veya dosyadaki ilgili satırların açıklamasını kaldırın.
# File `/dataconnect/schema/schema.gql`
type User @table(key: "uid") {
uid: String!
name: String!
address: String!
}
Varsayılan olarak Firebase Data Connect, sağlanmamışsa bir UUID id
anahtarı ekler. Ancak bu durumda uid
değerinin birincil anahtar olmasını istiyorsunuz. Bunu @table(key: "uid")
yönergesi aracılığıyla yapabilirsiniz.
E-posta
Kullanıcılarınız olduğunda e-postaları modelleyin. Burada, gireceğiniz alanları (veya sütunları). Bu kez birincil anahtar dahil değildir çünkü yönetmesi için Data Connect hizmetine güvenebilirsiniz.
# File `/dataconnect/schema/schema.gql`
type Email @table {
subject: String!
sent: Date!
text: String!
from: User!
}
from
alanının bir User
türüyle eşlendiğine dikkat edin.
Data Connect, bunun Email
arasında bir ilişki olduğunu anlıyor
ve User
, bu ilişkiyi sizin adınıza yönetecek.
Şemanızı üretime dağıtma
devam etmeden önce şemanızı dağıtmanız gerekir. Şu tarihten sonra: şemanızı üretim veritabanınıza dağıttığınızda, yeni bir görebilirsiniz.
- Dağıtmak için Firebase VS Code uzantısını kullanabilirsiniz.
- Uzantı kullanıcı arayüzünde, Firebase Data Connect panelinin altındaki Dağıtma.
- Şema değişikliklerini incelemeniz ve zararlı olabilecek öğeleri onaylamanız gerekebilir
kabul edersiniz. Şunları yapmanız istenir:
firebase dataconnect:sql:diff
kullanarak şema değişikliklerini inceleme- İstediğiniz değişiklikleri elde ettiğinizde,
firebase dataconnect:sql:migrate
Tablolarınıza veri ekleme
VS Code editor panelinde CodeLens düğmelerini görebilirsiniz.
/dataconnect/schema/schema.gql
aralığındaki grafikQL türleri. Şemanızı üretime dağıttığınız için arka uçtaki veritabanınıza veri eklemek için Veri ekle ve Çalıştır (Üretim) düğmelerini kullanabilirsiniz.
User
ve Email
tablolarına kayıt eklemek için:
schema.gql
dosyasında,User
tür beyanının üstündeki Veri ekle düğmesini tıklayın.
- Oluşturulan
User_insert.gql
dosyasında, kullanabilirsiniz. - Çalıştır (Üretim) düğmesini tıklayın.
- Oluşturulan
Email_insert
mutasyonunda istendiği gibi,Email
tablosuna kayıt eklemek için önceki adımları tekrarlayın vefromUid
alanına kullanıcınızınuid
değerini girin.
Sorgunuzu tanımlayın
Şimdi sıra işin eğlenceli kısmına, sorgulara. Geliştirici olarak GraphQL sorguları yerine SQL sorguları yazmaya alışkın olduğunuzdan bu durum başlangıçta biraz farklı gelebilir. Ancak GraphQL, ham SQL'den çok daha kısa ve tür açısından güvenlidir. VS Kodumuz uzantı, geliştirme deneyimini kolaylaştırır.
/dataconnect/connector/queries.gql
dosyasını düzenlemeye başlayın. Şunu istiyorsanız:
tüm e-postaları almak için bunun gibi bir sorgu kullanın.
# File `/dataconnect/connector/queries.gql`
query ListEmails @auth(level: NO_ACCESS) {
emails {
id, subject, text, sent
from {
name
}
}
}
Yakındaki CodeLens düğmesini kullanarak sorguyu yürütün.
Buradaki gerçekten heyecan verici bir özellik, veritabanının ilişkilerini grafik gibi ele alma olanağıdır. Bir E-posta’dafrom
Kullanıcı, alanı iç içe yerleştirebilir ve kullanıcıyla ilgili bilgileri geri alabilirsiniz.
Şemanızı ve sorgunuzu üretime dağıtma
Bir geliştirme iterasyonu ile çalıştınız. Artık şemanızı, verilerinizi ve sorgularınızı Firebase uzantısı kullanıcı arayüzü veya Firebase CLI ile sunucuya dağıtabilirsiniz. Bu işlemi şemanızla (#deploy-schema) yaptığınız gibi yapabilirsiniz.
Dağıtım için Firebase VS Code uzantısını kullanıyorsanız Dağıt düğmesini tıklayın.
Dağıtıldıktan sonra işlemlerinizi konsolda da görüntüleyip çalıştırabilirsiniz. Data Connect hizmetiniz, işlemleri işlemeye hazır olacak yardımcı olur. PostgreSQL İçin Cloud SQL örneği, oluşturulan şema ve verilerin son hâlini içerir.
(İsteğe bağlı) PostgreSQL'i yerel olarak yükleme
PostgreSQL'i yerel olarak yükleyip emülatörle entegre etmek, prototipi tamamen yerel bir geliştirme ortamında oluşturmanıza olanak tanır.
Yeni bir PostgreSQL örneği yükleyebilir veya mevcut bir örneği kullanabilirsiniz.
PostgreSQL'i yükleme
Platformunuza yönelik talimatları uygulayarak PostgreSQL 15.x sürümünü yükleyin.
- macOS için Google Haritalar'ı tıklayın. Postgres.app'i indirip yükleyin.
- Windows: PostgreSQL indirmeleri sayfasındaki EDB yükleyiciyi kullanın.
- Docker: Şunu çekip çalıştırın:
pgvector/pgvector:pg15
resim, ve vektör desteği içeriyor. - Linux: Docker'ı önceki görüntüyle kullanmanızı öneririz ancak popüler dağıtımlar için alternatif talimatları da uygulayabilirsiniz.
sırasında ana makine adı, bağlantı noktası, kullanıcı adı, şifre ve ilgili parametreler çıkışını not edin adımlarına göz atın.
Emülatörün PostgreSQL örneğinize bağlanabilmesi için:
- Bu kurulum yapılandırma parametreleri
dataconnect.yaml
içinde yer alan veritabanı adı ve buna karşılık gelen bir ad veritabanı ilk kullanıma hazırlanır.
Yerel PostgreSQL örneğinizi kullanma
Data Connect emülatör ayarlarını güncelleyerek mevcut bir yerel PostgreSQL örneğini kullanabilirsiniz.
firebase setup:emulators:dataconnect
İstendiğinde PostgreSQL bağlantı dizesini şu biçimde girin:
postgresql://postgresusername:postgrespassword@localhost:5432/postgresdatabase?sslmode=disable
Bağlantı dizesi hakkında daha fazla bilgi için PostgreSQL belgeleri.
Yerel PostgreSQL örneğinize bağlanma
Bu yapılandırma tamamlandıktan sonra yerel veritabanınıza bağlanmak için:
- VS Code'da soldaki panelde Firebase simgesini tıklayarak Firebase VS Code uzantısı kullanıcı arayüzü.
- Yerel PostgreSQL'e bağlan düğmesini tıklayın.