Из этого краткого руководства вы узнаете, как:
- Добавьте Firebase Data Connect в свой проект Firebase.
- Настройте среду разработки, включая расширение Visual Studio Code, для работы с производственным экземпляром.
- Тогда мы покажем вам, как:
- Создайте схему для приложения электронной почты и разверните ее в рабочей среде.
- Определите запросы и мутации для вашей схемы.
- Разверните окончательный прототип в производство.
Предварительные условия
Чтобы использовать это краткое руководство, вам понадобится следующее.
- Linux, macOS или Windows
- Код Visual Studio
Добавьте Data Connect в свой проект и создайте источник данных.
- Если вы еще этого не сделали, создайте проект Firebase.
- В консоли Firebase нажмите « Добавить проект» и следуйте инструкциям на экране.
Обновите свой проект до плана Blaze. Это позволит вам создать экземпляр Cloud SQL для PostgreSQL.
Перейдите в раздел «Подключение данных» консоли Firebase и следуйте инструкциям по настройке продукта.
Выберите расположение для вашей базы данных CloudSQL для PostgreSQL.
Запишите имена и идентификаторы проекта, службы и базы данных для подтверждения позже.
Следуйте оставшейся процедуре настройки и нажмите «Готово» .
Выбираем и настраиваем среду разработки
Data Connect поддерживает два варианта разработки прототипов:
- Если вы являетесь разработчиком Kotlin для Android или веб- разработчиком, вы можете использовать разработку VS Code для создания прототипов схем и операций локально при подключении к экземпляру Cloud SQL для PostgreSQL.
Если вы веб- разработчик, вы можете использовать IDX Development для создания прототипов в рабочей области IDX, используя предварительно настроенный шаблон IDX с PostgreSQL, расширение VS Code с эмулятором Data Connect и настроенный для вас код быстрого запуска.
Разработка VS-кода
Если вы предпочитаете разрабатывать локально вместо использования IDX, настройте расширение Firebase VS Code, которое поможет вам быстро повторять разработку.
- Создайте новый каталог для вашего локального проекта.
- Откройте VS Code в новом каталоге.
- Загрузите расширение в виде пакета VSIX из Firebase Storage .
- В VS Code в меню «Вид» выберите «Расширения» .
- В строке заголовка панели «Расширения» щелкните значок меню more_horiz , затем выберите «Установить из VSIX...» .
разработка IDX
IDX — это среда, оптимизированная для разработки веб-приложений. Если вы разработчик Kotlin для Android, следуйте инструкциям на вкладке «Разработка VS Code» .
Чтобы настроить шаблон Data Connect IDX:
- Получите доступ к шаблону на сайте Project IDX .
- Следуйте инструкциям по настройке.
При желании вы можете установить локальную базу данных PostgreSQL для локальной разработки с помощью эмулятора Data Connect. Эта настройка описана в конце этого краткого руководства.
Настройте свой локальный проект
Установите CLI, следуя обычным инструкциям .
Затем включите эксперимент Firebase Data Connect.
firebase experiments:enable dataconnect
Настройте каталог вашего проекта
Чтобы настроить локальный проект, инициализируйте каталог проекта.
На левой панели VS Code щелкните значок Firebase, чтобы открыть пользовательский интерфейс расширения Firebase VS Code.
В пользовательском интерфейсе расширения Firebase:
- Убедитесь, что вы вошли в систему.
- Подтвердите, что процесс настройки Data Connect, включая предоставление базы данных, завершен, с помощью консоли Google Cloud .
- Нажмите кнопку «Запустить инициализацию Firebase» .
- Проверьте вкладку «Терминал» на нижней панели VS Code для получения подсказок.
- Выберите Data Connect в качестве функции для использования в этом каталоге.
- При появлении запроса укажите идентификаторы проекта, службы и базы данных проекта Data Connect, который вы создали ранее в консоли.
Этот поток создаст файлы firebase.json
и .firebaserc
, а также подкаталоги dataconnect
, включая важные файлы dataconnect.yaml
и connector.yaml
, в вашем локальном рабочем каталоге.
Создание схемы подключения данных и запрос
Начните использовать GraphQL для моделирования пользователей и электронных писем. Вы обновите источники через:
-
/dataconnect/schema/schema.gql
-
/dataconnect/default-connector/queries.gql
Начать разработку схемы
В каталоге проекта Firebase обратите внимание на папку dataconnect
. Здесь вы определяете свою модель данных для базы данных Cloud SQL с помощью GraphQL.
В файле /dataconnect/schema/schema.gql
начните определять схему, включающую пользователей и электронные письма.
Пользователь
В Data Connect поля GraphQL сопоставляются со столбцами. У пользователей есть uid
, name
и address
электронной почты. Data Connect распознает несколько примитивных типов данных: String
и Date
.
Скопируйте следующий фрагмент или раскомментируйте соответствующие строки в файле.
# File `/dataconnect/schema/schema.gql`
type User @table(key: "uid") {
uid: String!
name: String!
address: String!
}
По умолчанию Firebase Data Connect добавит ключ id
UUID, если он не указан. Однако в этом случае вы хотите, чтобы мой uid
был первичным ключом, что вы можете сделать с помощью директивы @table(key: "uid")
.
Электронная почта
Теперь, когда у вас есть пользователи, вы можете моделировать электронные письма. Здесь вы можете добавить типичные поля (или столбцы) для данных электронной почты. На этот раз мы не добавляем первичный ключ, поскольку вы можете положиться на Data Connect для управления им.
# File `/dataconnect/schema/schema.gql`
type Email @table {
subject: String!
sent: Date!
text: String!
from: User!
}
Обратите внимание, что поле from
сопоставлено с типом User
. Data Connect понимает, что это отношения между Email
и User
, и будет управлять этими отношениями за вас.
Разверните свою схему в рабочей среде
Если вы используете расширение Firebase VS Code для работы с производственной базой данных, вам необходимо развернуть схему, прежде чем продолжить. После развертывания схемы в рабочей базе данных вы сможете просмотреть ее на консоли.
- Для развертывания вы можете использовать расширение Firebase VS Code.
- В пользовательском интерфейсе расширения под панелью Firebase Data Connect нажмите « Развернуть» .
Альтернативно вы можете использовать интерфейс командной строки Firebase.
firebase deploy
В процессе расширения или CLI вам может потребоваться просмотреть изменения схемы и одобрить потенциально разрушительные изменения. Вам будет предложено:
- Просмотрите изменения схемы с помощью
firebase dataconnect:sql:diff
- Когда вы будете удовлетворены изменениями, примените их, используя поток, запущенный
firebase dataconnect:sql:migrate
.
- Просмотрите изменения схемы с помощью
Выполняйте мутации для добавления данных в ваши таблицы.
На панели редактора VS Code вы можете увидеть, как кнопки CodeLens появляются над типами GraphQL в /dataconnect/schema/schema.gql
.
Запросы и мутации времени разработки
Безымянные операции, связанные с этими кнопками CodeLens, — это быстрые и полезные действия, в данном случае — добавление данных в таблицу. Data Connect использует мутации GraphQL, чтобы описать, как и кто может работать с базой данных. Использование этой кнопки создает операцию времени разработки для быстрого заполнения данных.
Поскольку вы развернули свою схему в рабочей среде, вы можете использовать кнопки «Добавить данные CodeLens» в schema.gql
и кнопки «Запустить (производственная)» в полученных сгенерированных файлах, чтобы выполнить эти действия на своей серверной части.
Чтобы добавить записи в таблицы User
и Email
:
- В
schema.gql
нажмите кнопку «Добавить данные» над объявлением типаUser
. - В созданном файле
User_insert.gql
содержатся данные жесткого кода для трех полей. - Нажмите кнопку «Запустить (Производство)» .
- Повторите предыдущие шаги, чтобы добавить запись в таблицу
Email
, указавuid
вашего пользователя в полеfromUid
, как было предложено в сгенерированной мутацииEmail_insert
.
Напишите запрос для получения списка адресов электронной почты
Теперь самое интересное, запросы. Как разработчик, вы привыкли писать запросы SQL, а не запросы GraphQL, поэтому поначалу это может показаться немного другим. Однако GraphQL гораздо более краток и типобезопасен, чем чистый SQL. А наше расширение VS Code упрощает разработку.
Начните редактирование файла /dataconnect/default-connector/queries.gql
. Если вы хотите получить все электронные письма, используйте такой запрос.
# File `/dataconnect/default-connector/queries.gql`
query ListEmails @auth(level: NO_ACCESS) {
emails {
id, subject, text, sent
from {
name
}
}
}
Выполните запрос, используя расположенную рядом кнопку CodeLens.
По-настоящему интересной особенностью является возможность рассматривать отношения базы данных как граф. Поскольку в электронном письме есть поле from
, которое ссылается на пользователя, вы можете вложить его в поле и получить обратно информацию о пользователе.
Разверните готовый прототип в производство
Вы прошли итерацию разработки. Теперь вы можете развернуть свою схему, данные и запросы на сервере с помощью пользовательского интерфейса расширения Firebase или интерфейса командной строки Firebase, так же, как вы это делали со своей схемой .
Если вы используете расширение Firebase VS Code для развертывания, нажмите кнопку «Развернуть все» .
После развертывания вы также сможете просматривать и выполнять свои операции на консоли. Ваша служба Data Connect будет готова обрабатывать операции от клиентов. Экземпляр Cloud SQL для PostgreSQL будет обновлен с учетом окончательной развернутой сгенерированной схемы и данных.
(Необязательно) Установите PostgreSQL локально.
Локальная установка PostgreSQL и интеграция его с эмулятором позволяет создавать прототипы в полностью локальной среде разработки.
Вы можете установить новый экземпляр PostgreSQL или использовать существующий экземпляр.
Установить PostgreSQL
Установите PostgreSQL версии 15.x, следуя инструкциям для вашей платформы.
- macOS . Загрузите и установите Postgres.app .
- Windows: используйте установщик EDB со страницы загрузок PostgreSQL .
- Docker: извлеките и запустите образ
pgvector/pgvector:15
, который поставляется как с PostgreSQL 15.x, так и с поддержкой векторов. - Linux: мы рекомендуем использовать Docker с предыдущим образом, но вы также можете следовать альтернативным инструкциям для популярных дистрибутивов .
Обратите внимание на имя хоста, порт, имя пользователя и пароль, а также соответствующие параметры, выводимые во время установки.
Чтобы подключиться к вашему экземпляру PostgreSQL, эмулятору необходимо:
- Эти параметры конфигурации установки
- Имя базы данных из вашего
dataconnect.yaml
и базы данных с соответствующим именем, инициализированной в вашем локальном экземпляре.
Обновите свой .firebaserc
, указав строку подключения.
Используйте данные локальной конфигурации PostgreSQL, включая локальное имя пользователя и пароль PostgreSQL, для строки подключения, которую нужно добавить к следующему ключу в вашем файле .firebaserc
.
{
"projects": {},
...,
...,
"dataconnectEmulatorConfig": {
"postgres": {
"localConnectionString": "postgresql://postgresusername:postgrespassword@localhost:5432?sslmode=disable"
}}
}
Подключитесь к локальному экземпляру PostgreSQL.
После завершения этой настройки для подключения к вашей локальной базе данных:
- В VS Code на левой панели щелкните значок Firebase, чтобы открыть пользовательский интерфейс расширения Firebase VS Code.
- Нажмите кнопку «Подключиться к локальному PostgreSQL» .