В этом кратком руководстве вы узнаете, как создать Firebase Data Connect в своем приложении локально, не настраивая рабочий экземпляр SQL.
- Добавьте Firebase Data Connect в свой проект Firebase.
- Настройте среду разработки, включая расширение Visual Studio Code, для работы с локальным экземпляром.
- Тогда мы покажем вам, как:
- Создание схемы для приложения для просмотра фильмов
- Определите запросы и мутации , которые будут использоваться в вашем приложении.
- Протестируйте свои запросы и мутации с помощью образцов данных на локальном эмуляторе.
- Создавайте строго типизированные SDK и используйте их в своем приложении.
- Разверните окончательную схему, запросы и данные в облаке (необязательно, необходим план Blaze).
Предварительные условия
Чтобы использовать это краткое руководство, вам понадобится следующее.
- Linux, macOS или Windows
- Код Visual Studio
- Установите Node.js с помощью nvm-windows для Windows или nvm для macOS или Linux.
- Если вы еще этого не сделали, создайте проект Firebase в консоли Firebase .
Настройка среды разработки
Вам понадобится код Visual Studio для управления схемой и определения запросов, которые будут использоваться в вашем приложении, и для вас будет автоматически сгенерирован строго типизированный SDK:
- Создайте новый каталог для вашего локального проекта.
- Откройте VS Code в новом каталоге.
- Установите расширение Firebase Data Connect из Visual Studio Code Marketplace .
Настройте каталог вашего проекта
Чтобы настроить локальный проект, инициализируйте каталог проекта. На левой панели VS Code щелкните значок Firebase, чтобы открыть пользовательский интерфейс расширения Data Connect VS Code:
- Нажмите кнопку «Войти через Google» .
- Нажмите кнопку «Подключить проект Firebase» и выберите в консоли проект, который вы создали ранее.
- Нажмите кнопку «Запустить инициализацию Firebase» .
Нажмите кнопку «Запустить эмуляторы» .
Создать схему
В каталоге проекта 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
}
ФильмМетаданные
Скопируйте следующий фрагмент или раскомментируйте соответствующие строки в файле.
# 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 Code вы увидите, что кнопки CodeLens появляются над типами GraphQL в /dataconnect/schema/schema.gql
. Вы можете использовать кнопки «Добавить данные» и «Выполнить (локально)» для добавления данных в локальную базу данных.
Чтобы добавить записи в таблицы Movie
и MovieMetadata
:
- В
schema.gql
нажмите кнопку «Добавить данные» над объявлением типаMovie
. - В созданном файле
Movie_insert.gql
содержатся данные жесткого кода для трех полей. - Нажмите кнопку «Выполнить (локально)» .
- Повторите предыдущие шаги, чтобы добавить запись в таблицу
MovieMetadata
, указавid
вашего фильма в полеmovieId
, как это было предложено в сгенерированной мутацииMovieMetadata_insert
.
Для быстрой проверки данных добавлено:
- Вернувшись в
schema.gql
, нажмите кнопку «Читать данные» над объявлением типаMovie
. - В полученном файле
Movie_read.gql
нажмите кнопку «Выполнить (локально)», чтобы выполнить запрос.
Узнайте больше о мутациях 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:
- Нажмите кнопку «Добавить SDK в приложение» .
В появившемся диалоговом окне выберите каталог, содержащий код вашего приложения. Data Connect . Код SDK будет сгенерирован и сохранен там.
Выберите платформу своего приложения и обратите внимание, что код SDK сразу же создается в выбранном вами каталоге.
Узнайте, как использовать сгенерированный SDK для вызова запросов и мутаций из клиентских приложений ( веб , Android , iOS , Flutter ).
Разверните свою схему и запросите ее в рабочей среде
После того как у вас есть локальная настройка вашего приложения, вы можете развернуть свою схему, данные и запросы в облаке. Для настройки экземпляра Cloud SQL вам понадобится план Blaze.
Перейдите в раздел «Подключение данных» консоли Firebase и создайте бесплатный пробный экземпляр Cloud SQL.
Во встроенном терминале VS Code запустите firebase init dataconnect и выберите идентификатор региона/службы, который вы только что создали на консоли.
Выберите «Y» при появлении запроса «Файл dataconnect/dataconnect.yaml уже существует, перезаписать?» .
В пользовательском интерфейсе расширения Data Connect VS Code нажмите кнопку «Развернуть в рабочую среду» .
После развертывания перейдите в консоль Firebase чтобы убедиться, что схема, операции и данные загружены в облако. У вас должна быть возможность просматривать схему и выполнять операции на консоли. Экземпляр Cloud SQL для PostgreSQL будет обновлен с учетом окончательной развернутой сгенерированной схемы и данных.
Следующие шаги
Просмотрите развернутый проект и откройте для себя дополнительные инструменты:
- Добавляйте данные в свою базу данных, проверяйте и изменяйте свои схемы, а также отслеживайте работу службы Data Connect в консоли Firebase .
Дополнительную информацию можно найти в документации. Например, после завершения краткого руководства:
- Узнайте больше о разработке схем, запросов и мутаций.
- Узнайте о создании клиентских SDK, вызове запросов и мутациях из клиентского кода для Интернета , Android , iOS и Flutter .