Из этого краткого руководства вы узнаете, как реализовать Firebase Data Connect в своем приложении.
- Добавьте Firebase Data Connect в свой проект Firebase.
- Настройте среду разработки, включая расширение Visual Studio Code, для работы с производственным экземпляром.
- Тогда мы покажем вам, как:
- Создайте схему для приложения для просмотра фильмов и разверните ее в рабочей среде.
- Определите запросы и мутации для вашей схемы.
- Создавайте строго типизированные SDK и используйте их в своем приложении.
- Разверните окончательную схему, запрос и данные в рабочей среде.
Предварительные условия
Чтобы использовать это краткое руководство в своей локальной среде, вам потребуется следующее.
- Linux, macOS или Windows
- Код Visual Studio
Подключитесь к своему проекту Firebase
- Если вы еще этого не сделали, создайте проект Firebase.
- В консоли Firebase нажмите «Добавить проект » и следуйте инструкциям на экране.
- Перейдите в раздел Data Connect консоли Firebase и следуйте инструкциям по настройке продукта.
Обновите свой проект до плана Blaze. Это позволит вам создать экземпляр Cloud SQL для PostgreSQL.
Выберите расположение базы данных CloudSQL для PostgreSQL.
Запишите имена и идентификаторы проекта, службы и базы данных для подтверждения позже.
Следуйте оставшейся процедуре настройки и нажмите «Готово» .
Выбираем и настраиваем среду разработки
Data Connect поддерживает два варианта разработки:
- Если вы являетесь Kotlin Android , iOS , Flutter или веб- разработчиком, вы можете использовать разработку VS Code для разработки и тестирования схем и операций локально при подключении к вашему экземпляру Cloud SQL for PostgreSQL.
- Если вы веб- разработчик, вы можете использовать IDX Development для создания прототипов в рабочей области IDX, используя предварительно настроенный шаблон IDX с PostgreSQL, расширение VS Code с эмулятором Data Connect и настроенный для вас клиентский код быстрого запуска. Дополнительную информацию вы найдете на сайте Project IDX .
В этом кратком руководстве рассматривается процесс разработки расширения VS Code. Продолжение:
- Создайте новый каталог для вашего локального проекта.
- Откройте VS Code в новом каталоге.
Установите расширение Firebase Data Connect из Visual Studio Code Marketplace .
Настройте свой локальный проект
Установите CLI, следуя обычным инструкциям . Если у вас уже установлен npm, выполните следующую команду:
npm install -g firebase-tools
Настройте каталог вашего проекта
Чтобы настроить локальный проект, инициализируйте каталог проекта.
На левой панели VS Code щелкните значок Firebase, чтобы открыть пользовательский интерфейс расширения Firebase VS Code.
- Нажмите кнопку «Войти через Google» .
- Нажмите кнопку «Подключить проект Firebase» и выберите в консоли проект, который вы создали ранее.
- Нажмите кнопку «Запустить инициализацию Firebase» .
- Если ваш проект включен в план Blaze, на вопрос «Хотите ли вы настроить серверные ресурсы сейчас?» ответьте «Да» .
Нажмите кнопку «Запустить эмуляторы» .
Создать схему
В каталоге проекта Firebase в файле /dataconnect/schema/schema.gql
начните определять схему GraphQL, включающую фильмы.
Фильм
В Data Connect поля GraphQL сопоставляются со столбцами. Тип Movie
имеет id
, title
, imageUrl
и genre
. Data Connect распознает примитивные типы данных String
и UUID
.
Скопируйте следующий фрагмент или раскомментируйте соответствующие строки в файле.
# File `/dataconnect/schema/schema.gql`
# By default, a UUID id key will be created by default as primary key.
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 см. в документации.
Разверните свою схему в рабочей среде
Если вы используете расширение Firebase VS Code для работы с производственной базой данных, вам необходимо развернуть схему, прежде чем продолжить. После развертывания схемы в рабочей базе данных вы сможете просмотреть ее на консоли.
- Для развертывания можно использовать расширение Data Connect VS Code.
- В пользовательском интерфейсе расширения на панели Firebase Data Connect нажмите «Развернуть в производство» .
- Возможно, вам придется просмотреть изменения схемы и одобрить потенциально разрушительные изменения. Вам будет предложено:
- Просмотрите изменения схемы с помощью
firebase dataconnect:sql:diff
- Когда вы будете удовлетворены изменениями, примените их, используя поток, запущенный
firebase dataconnect:sql:migrate
.
- Просмотрите изменения схемы с помощью
Добавьте данные в свои таблицы
На панели редактора VS Code вы можете увидеть, как кнопки CodeLens появляются над типами GraphQL в /dataconnect/schema/schema.gql
. Поскольку вы развернули свою схему в рабочей среде, вы можете использовать кнопки «Добавить данные» и «Запустить (производственная)», чтобы добавить данные в свою базу данных на серверной стороне.
Чтобы добавить записи в таблицу Movie
:
- В
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.
Дополнительные сведения о запросах Data Connect см. в документации.
Создавайте SDK и используйте их в своем приложении.
- Нажмите кнопку «Добавить SDK в приложение» .
В появившемся диалоговом окне выберите каталог, содержащий код вашего приложения. Data Connect . Код SDK будет сгенерирован и сохранен там.
Выберите платформу своего приложения и обратите внимание, что код SDK сразу же создается в выбранном вами каталоге.
Узнайте, как использовать сгенерированный SDK для вызова запросов и мутаций из клиентских приложений ( веб , Android , iOS , Flutter ).
Разверните свою схему и запросите ее в рабочей среде
Вы прошли итерацию разработки. Теперь вы можете развернуть свою схему, данные и запросы на сервере с помощью пользовательского интерфейса расширения Firebase или интерфейса командной строки Firebase , так же, как вы это делали со своей схемой.
Если вы используете расширение Firebase VS Code для развертывания, нажмите кнопку «Развернуть в производство» .
После развертывания перейдите в консоль Firebase чтобы убедиться, что схема, операции и данные загружены в облако. У вас должна быть возможность просматривать схему и выполнять операции на консоли. Экземпляр Cloud SQL для PostgreSQL будет обновлен с учетом окончательной развернутой сгенерированной схемы и данных.
Подробную информацию об использовании эмулятора Data Connect можно найти в документации.
Следующие шаги
Просмотрите развернутый проект и откройте для себя дополнительные инструменты:
Добавляйте данные в свою базу данных, проверяйте и изменяйте свои схемы, а также отслеживайте работу службы Data Connect в консоли Firebase . Дополнительную информацию можно найти в документации. Например, после завершения краткого руководства:
Узнайте больше о разработке схем, запросов и мутаций.
Узнайте о создании клиентских SDK, вызове запросов и мутациях из клиентского кода для Интернета , Android , iOS и Flutter .