Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это важно
Автомасштабирование Lakebase находится в бета-версии в следующих регионах: eastus2, , westeuropewestus.
Автомасштабирование Lakebase — это последняя версия Lakebase с автомасштабированием вычислений, масштабированием до нуля, ветвлением и мгновенным восстановлением. Сравнение функций с Lakebase Provisioned см. в разделе выбора между версиями.
Узнайте, как использовать ветви, такие как ветви Git, предоставляя каждому разработчику изолированную ветвь для независимой работы, а затем сбросить, чтобы оставаться в синхронизации.
Предпосылки
- Проект Lakebase с ветвью
production(по умолчанию) - Ветвь, созданная из
productionдляdevelopmentсовместной разработки - Базовое знакомство с SQL и Postgres
Настройка начальной схемы
Перед созданием ветви разработчика настройте простую схему в ветви разработки. Это служит общей отправной точкой, от которой все разработчики будут выполнять ответвления. ** При создании личной ветви она мгновенно наследует эту схему с помощью механизма копирования при записи.
- Перейдите в ветвь разработки в пользовательском интерфейсе Lakebase.
- Откройте редактор SQL.
- Создайте таблицу базовых пользователей с примерами данных:
CREATE TABLE users (
id SERIAL PRIMARY KEY,
email TEXT NOT NULL UNIQUE,
created_at TIMESTAMP DEFAULT NOW()
);
INSERT INTO users (email) VALUES
('alice@example.com'),
('bob@example.com'),
('charlie@example.com');
Создайте свою ветвь разработчика
Каждый разработчик в вашей команде может иметь долгоживущую ветку для непрерывной работы. Периодически сбрасывайте его, чтобы поддерживать синхронизацию с родителем.
В списке ветвей проекта выберите ветвь разработки , а затем нажмите кнопку "Создать дочернюю ветвь". Введите имя ветви (обязательно), например dev/alex (по шаблону dev/<your-name>) и нажмите кнопку "Создать".
Ветвь создается мгновенно и включает в себя все схемы и данные из среды разработки с использованием метода копирования при записи.
Ваша иерархия веток:
production (root)
└── development (has users table + data)
└── dev/alex (instantly inherits users table + data)
Разработайте свою функцию
Направьте приложение на вашу ветвь разработки, обновив строку подключения в .env файле, затем разрабатывайте вашу функцию в соответствии с обычным рабочим процессом.
Например, добавление отслеживания предпочтений пользователей в приложение приведет к обновлению пользовательской модели, созданию миграции с помощью платформы (Prisma, Alembic, Django и т. д.) и её запуску на вашей dev/alex ветке. Файл миграции может содержать следующее:
ALTER TABLE users ADD COLUMN preferences JSONB DEFAULT '{}';
CREATE INDEX idx_users_preferences ON users USING GIN (preferences);
После выполнения миграции разработайте функцию предпочтения в коде приложения и протестируйте полный поток локально. Ваша ветвь полностью изолирована. Изменения не влияют на рабочую среду или других разработчиков.
Просмотр изменений
Прежде чем продвигаться в другие среды, используйте диффы схемы, чтобы проверить, что изменилось. Перейдите к обзору dev/alex ветви, щелкните «Схема diff» и сравните с development.
Параллельное сравнение показывает новый preferences столбец и индекс зеленым цветом:
Этот шаг проверки помогает перехватывать непреднамеренные изменения, прежде чем они достигают рабочей среды. Для полной документации о различиях схем см. раздел "Сравнение схем ветвей".
Продвигайте ваши изменения
Когда вы уверены в изменениях, продвигайте их в основные ветки. Примените те же изменения схемы, которые вы проверили на dev/alex, к вашей ветви development, а затем разверните код вашего приложения. Этот рабочий процесс гарантирует, что изменения схемы проверяются в изоляции, прежде чем достичь общих сред.
Сброс и новый старт
Когда вы будете готовы начать новую работу, сбросьте личную ветвь, чтобы поддерживать синхронизацию с development, в которой могли быть изменения от других разработчиков. Это дает вам новое начало с текущей общей базовой базы.
Перейдите в вашу dev/alex ветвь и нажмите "Сброс из родителя". Модал сброса подтверждает, что все базы данных и роли будут заменены последними данными.development Это действие не является обратимым, поэтому убедитесь, что вы повысили все изменения, которые вы хотите сохранить перед подтверждением.
Теперь ваша ветвь в точности соответствует development и готова для следующей задачи.
Лучшие практики
-
Используйте согласованное именование: Следуйте шаблону
dev/<name>для ветвей разработчиков. -
Регулярно сбрасывайте: Поддерживайте ветку в синхронизированном состоянии с
development, чтобы избежать расхождения. - Защита рабочей среды: Использование защищенных ветвей для предотвращения случайных изменений